wp_plugin_directory_constants()
云策文档标注
概述
wp_plugin_directory_constants() 函数用于定义 WordPress 插件目录相关的常量,包括普通插件和必须使用(mu-plugins)插件的路径和 URL。这些常量允许开发者自定义插件目录位置,并可通过 sunrise.php 覆盖。
关键要点
- 定义 WP_CONTENT_URL、WP_PLUGIN_DIR、WP_PLUGIN_URL、WPMU_PLUGIN_DIR、WPMU_PLUGIN_URL 等常量,用于指定插件目录的路径和 URL。
- 提供向后兼容的已弃用常量 PLUGINDIR 和 MUPLUGINDIR,基于 ABSPATH 的相对路径。
- 常量定义前会检查是否已存在,避免重复定义,确保灵活性。
- 函数从 WordPress 3.0.0 版本引入,相关常量自不同版本起支持自定义移动。
代码示例
function wp_plugin_directory_constants() {
if ( ! defined( 'WP_CONTENT_URL' ) ) {
define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' );
}
if ( ! defined( 'WP_PLUGIN_DIR' ) ) {
define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );
}
if ( ! defined( 'WP_PLUGIN_URL' ) ) {
define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' );
}
if ( ! defined( 'PLUGINDIR' ) ) {
define( 'PLUGINDIR', 'wp-content/plugins' );
}
if ( ! defined( 'WPMU_PLUGIN_DIR' ) ) {
define( 'WPMU_PLUGIN_DIR', WP_CONTENT_DIR . '/mu-plugins' );
}
if ( ! defined( 'WPMU_PLUGIN_URL' ) ) {
define( 'WPMU_PLUGIN_URL', WP_CONTENT_URL . '/mu-plugins' );
}
if ( ! defined( 'MUPLUGINDIR' ) ) {
define( 'MUPLUGINDIR', 'wp-content/mu-plugins' );
}
}
原文内容
Defines plugin directory WordPress constants.
Description
Defines must-use plugin directory constants, which may be overridden in the sunrise.php drop-in.
Source
function wp_plugin_directory_constants() {
if ( ! defined( 'WP_CONTENT_URL' ) ) {
define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' ); // Full URL - WP_CONTENT_DIR is defined further up.
}
/**
* Allows for the plugins directory to be moved from the default location.
*
* @since 2.6.0
*/
if ( ! defined( 'WP_PLUGIN_DIR' ) ) {
define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' ); // Full path, no trailing slash.
}
/**
* Allows for the plugins directory to be moved from the default location.
*
* @since 2.6.0
*/
if ( ! defined( 'WP_PLUGIN_URL' ) ) {
define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' ); // Full URL, no trailing slash.
}
/**
* Allows for the plugins directory to be moved from the default location.
*
* @since 2.1.0
* @deprecated
*/
if ( ! defined( 'PLUGINDIR' ) ) {
define( 'PLUGINDIR', 'wp-content/plugins' ); // Relative to ABSPATH. For back compat.
}
/**
* Allows for the mu-plugins directory to be moved from the default location.
*
* @since 2.8.0
*/
if ( ! defined( 'WPMU_PLUGIN_DIR' ) ) {
define( 'WPMU_PLUGIN_DIR', WP_CONTENT_DIR . '/mu-plugins' ); // Full path, no trailing slash.
}
/**
* Allows for the mu-plugins directory to be moved from the default location.
*
* @since 2.8.0
*/
if ( ! defined( 'WPMU_PLUGIN_URL' ) ) {
define( 'WPMU_PLUGIN_URL', WP_CONTENT_URL . '/mu-plugins' ); // Full URL, no trailing slash.
}
/**
* Allows for the mu-plugins directory to be moved from the default location.
*
* @since 2.8.0
* @deprecated
*/
if ( ! defined( 'MUPLUGINDIR' ) ) {
define( 'MUPLUGINDIR', 'wp-content/mu-plugins' ); // Relative to ABSPATH. For back compat.
}
}
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |