每天一个WordPress文件:wp-includes/default-constants
WordPress 在 wp-includes/default-constants 定义了 WordPress 常用常量的默认值,这些常量都可以在 wp-config.php
中预先定义,这里都会判断如果在 wp-config.php
定义了,就不设置默认值。
wp_initial_constants()
函数
1. 定义了这个和文件大小的常量,自己不用去算了,直接用就好了:
define( 'KB_IN_BYTES', 1024 );
define( 'MB_IN_BYTES', 1024 * KB_IN_BYTES );
define( 'GB_IN_BYTES', 1024 * MB_IN_BYTES );
define( 'TB_IN_BYTES', 1024 * GB_IN_BYTES );
2. 定义了和时间有关的常量,也别去算了,直接用就好了:
define( 'MINUTE_IN_SECONDS', 60 );
define( 'HOUR_IN_SECONDS', 60 * MINUTE_IN_SECONDS );
define( 'DAY_IN_SECONDS', 24 * HOUR_IN_SECONDS );
define( 'WEEK_IN_SECONDS', 7 * DAY_IN_SECONDS );
define( 'MONTH_IN_SECONDS', 30 * DAY_IN_SECONDS );
define( 'YEAR_IN_SECONDS', 365 * DAY_IN_SECONDS );
3. 定义了 WP_CONTENT_DIR
这个最常用的常量,如果 wp-config.php
中没有定义,直接定义为:
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
所以这个其实也说可以在 wp-config.php
中将 wp-content 目录设置为任何一个目录,伪装一下,让人不知道你用的是 WordPress。
4. 如果全局变量 $blog_id
没有设置,就设置为 1.
5. 定义了 WP_MEMORY_LIMIT
和 WP_MAX_MEMORY_LIMIT
这两个 WordPress 运行时允许的内存。
这两个有点复杂,WordPress 首先wp-config.php
中有没有定义,如果没有定义的话,检查当前的 PHP 系统是否支持运行时修改脚本所需的内存,如果不行就用 PHP 默认的设置,如果可以的话,WP_MEMORY_LIMIT 在多站点设置为 64M,单站点设置为 40M。WP_MAX_MEMORY_LIMIT 设置为 256M。
6. 然后WP_DEBUG
, WP_DEBUG_DISPLAY
, WP_DEBUG_LOG
, WP_CACHE
, SCRIPT_DEBUG
, MEDIA_TRASH
, SHORTINIT
没有定义的话,默认都被定义为 false。
这几个变量是干嘛的?简单说一下:
WP_DEBUG
:是否开启 PHP debug 功能。WP_DEBUG_DISPLAY
:PHP 错误脚本是否直接显示出来。WP_DEBUG_LOG
:PHP 错误脚本是否存到文件中(wp-content/debug.log)。WP_CACHE
:是否开启 WordPress 默认的文件缓存。SCRIPT_DEBUG
:WordPress 加载的 JS 脚本都是 min 版本,如果要进行 JS 脚本 debug 的话,打开这个常量,就会加载非 min 版本,便于 debug。MEDIA_TRASH
:后台的媒体是否有垃圾箱,设置为 true,则图片等媒体不会直接删除,而是进入垃圾箱。SHORTINIT
:用于加载最小化 WordPress。
7. 最后定义 WP_FEATURE_BETTER_PASSWORDS
默认为: true,就是系统会建议用户是强度更好的密码的。
wp_plugin_directory_constants()
函数
WP_CONTENT_URL
, WP_PLUGIN_DIR
, WP_PLUGIN_URL
, PLUGINDIR
, WPMU_PLUGIN_DIR
, WPMU_PLUGIN_URL
, MUPLUGINDIR
这几个插件和多站点 mu 插件的目录和地址的默认,当然在 wp-config.php
中将这些目录和地址设置为其他,伪装一下,让人不知道你用的是 WordPress。
wp_cookie_constants()
函数
定义 cookie 相关的变量的默认值,一般我们不会去改动他,所以这里就详细讲解了。
wp_ssl_constants()
函数
它定义了 进入后台是否使用加密地址常量FORCE_SSL_ADMIN
和 进入登录页面是否使用加密地址常量FORCE_SSL_LOGIN
默认都为 false,可以在 wp-config.php
中修改。
wp_functionality_constants()
函数
定义了自动保存常量 AUTOSAVE_INTERVAL
为 60 秒,自动清空垃圾箱常量 EMPTY_TRASH_DAYS
为 30 天,是否开始文章修订功能常量 WP_POST_REVISIONS
为 false,定时作业最长工作时间常量 WP_CRON_LOCK_TIMEOUT
为 60 秒。
wp_templating_constants()
函数
定义了模板目录常量 TEMPLATEPATH
,样式文件所在目录常量 STYLESHEETPATH
的值,这个当然不能在wp-config.php
中修改设置,你只要拿去用就好了。
最后是:系统的默认主题常量 WP_DEFAULT_THEME
。