官术网_书友最值得收藏!

Checking WordPress versions

It is common for scripts to perform some "pre-flight" tests at runtime to ensure that they can execute correctly. Common examples of these types of tests include checking the version of PHP or of WordPress. To avoid any potential catastrophes that could occur if our plugin is activated on incompatible WordPress versions, we will perform a simple WordPress version check, and you can use this format as a guideline for how you might perform similar pre-flight tests. Let's add another PHP constant to define the minimum version of WordPress required. We want this plugin to require WordPress version 3 or greater:

define('DIGGTHIS_MIN_WORDPRESS_VERSION', '3.0');

Again, we place this near the top of our plugin in the area we allotted for configuration and settings.

In order to check the current version of WordPress, we can use the global WordPress variable $wp_version. We can then use the PHP function version_compare() to compare the current version with the minimum required. The following is how we updated the diggthis_check_wordpress_version() function:

/**
* Checks that the current version of WordPress is current enough.
*
* @return   none   exit on fail.
*/
function diggthis_check_wordpress_version() {
   global $wp_version;
   
   $exit_msg='"Digg This" requires WordPress '
      .DIGGTHIS_MIN_WORDPRESS_VERSION
      .' or newer. 
      <a >Please update!</a>';
      
   if (version_compare($wp_version,DIGGTHIS_MIN_WORDPRESS_VERSION,'<'))
   {
       exit ($exit_msg);
   }
}

This will ensure that only users who are running WordPress 3.0 or later will be able to use the plugin. Technically, everything we've done would work on many older versions of WordPress, but since we authored this plugin on WordPress 3, it's best not to assume that it will work on older versions.

To execute this function, we will tie into the same init method as we did before. Simply add this below our existing add_action() and add_filter() functions:

add_action('init', 'diggthis_check_wordpress_version');

To ensure that this works, try temporarily changing the minimum version constant:

define('DIGGTHIS_MIN_WORDPRESS_VERSION', '4.0');

Save your file and refresh your browser. You should see the $exit_msg displayed:

"Digg This" requires WordPress 4.0 or newer. Please update!

Once you've verified that the error message works, you can change the constant back.

主站蜘蛛池模板: 内乡县| 遵化市| 佳木斯市| 时尚| 汉中市| 读书| 抚松县| 双江| 宁蒗| 湖北省| 建阳市| 揭西县| 马关县| 芜湖市| 昔阳县| 平湖市| 获嘉县| 绍兴县| 佛坪县| 商河县| 洛川县| 吉水县| 宁武县| 团风县| 昆明市| 丹江口市| 磴口县| 贵南县| 光泽县| 宁乡县| 南江县| 侯马市| 漳浦县| 南宁市| 措美县| 永和县| 阳泉市| 双峰县| 汉川市| 南投县| 砀山县|