定位WordPress插件和内容文件

0条评论

定位WordPress插件和内容文件

编写WordPress插件时,我们经常需要从WordPress安装文件中引用各种各样的文件和文件夹。而每次WordPress发布新版本,用户都可以重新放置安装文件夹,这样就为编写插件时的引用带来了很多麻烦。WordPress 2.6允许用户将/wp-content/文件移到其它位置,于是很多用户开始将WordPress所有的安装文件(比如 /wp-admin/ 和 /wp-includes/)转移到各种各样不同的位置上。

为了避免这些不同设置所带来的麻烦,也为了保持与版本的兼容性,我们可以在插件中定义一些PHP常量,用这些常量来进行相应操作,而不用再依赖WordPress的安装文件。

代码

// Pre-2.6 compatibility
if ( ! defined( 'WP_CONTENT_URL' ) )
      define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' );
if ( ! defined( 'WP_CONTENT_DIR' ) )
      define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
if ( ! defined( 'WP_PLUGIN_URL' ) )
      define( 'WP_PLUGIN_URL', WP_CONTENT_URL. '/plugins' );
if ( ! defined( 'WP_PLUGIN_DIR' ) )
      define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );

以上代码能够为以下条目输出可兼容于后台的值:

  • WP_CONTENT_URL —— 之前这由博客的URL地址加/wp-content/ 组成
  • WP_CONTENT_DIR —— 这是wp-content文件的服务器路径
  • WP_PLUGIN_URL —— 插件文件(通常情况下插件文件位于wp-content中)的URL地址
  • WP_PLUGIN_DIR —— 插件文件的服务器路径