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

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.

主站蜘蛛池模板: 勃利县| 香河县| 兴隆县| 台北市| 温宿县| 淮滨县| 芮城县| 宝坻区| 漯河市| 威宁| 响水县| 钟山县| 同江市| 衡山县| 宁陕县| 新干县| 屯昌县| 托克逊县| 仪陇县| 海城市| 凤阳县| 桐庐县| 南汇区| 建宁县| 许昌县| 神农架林区| 奈曼旗| 东宁县| 五台县| 祁连县| 江北区| 广南县| 定安县| 五寨县| 绿春县| 临清市| 武乡县| 仁布县| 仁怀市| 莱阳市| 共和县|