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

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.

主站蜘蛛池模板: 武强县| 高邑县| 新宁县| 本溪| 鄯善县| 仁寿县| 萍乡市| 东阿县| 定远县| 高雄市| 富源县| 曲阳县| 永德县| 泗洪县| 花莲县| 琼海市| 安图县| 姚安县| 金坛市| 龙陵县| 沧源| 扶风县| 屏山县| 济源市| 淮安市| 呼和浩特市| 通城县| 青冈县| 寿光市| 东港市| 彰化县| 蕉岭县| 太仆寺旗| 白水县| 宁远县| 武邑县| 电白县| 绥芬河市| 定襄县| 明星| 易门县|