WordPress开发教程:命名规范
编辑文章本文旨在系统阐述WordPress官方编码标准中的命名规范。这套规范的核心目标是解决在插件和主题共存的生态中,因代码全部加载于全局命名空间而引发的命名冲突问题。其设计哲学围绕可预测性和避免冲突展开,通过一套以前缀机制为核心的、涵盖函数、类、常量、变量的完整命名体系,确保不同开发者编写的代码能够和谐共存。
语法示例
以下代码展示了遵循WordPress规范的核心命名方式:
// 函数:带前缀的小写字母与下划线
function my_plugin_get_user_data( $user_id ) {
// 变量:描述性的小写字母与下划线
$formatted_data = array();
// 全局常量:带前缀的全大写字母与下划线
define( 'MY_PLUGIN_CACHE_TIME', 3600 );
// 使用WordPress核心常量
if ( defined( 'ABSPATH' ) ) {
// 使用WordPress核心函数
$user = get_userdata( $user_id );
}
}
// 类:带前缀的大驼峰式(StudlyCaps)
class My_Plugin_Data_Processor {
// 类方法:小驼峰式(camelCase)
public function formatOutput( $data ) {
// 调用自定义函数
return my_plugin_get_user_data( $data );
}
}
规范详解
函数命名
所有函数名必须使用小写字母,单词间以下划线连接,并且必须使用唯一前缀(通常为插件/主题缩写)。这保证了函数在全局命名空间中的唯一性。WordPress核心自身就严格遵循此规则,例如获取文章ID的函数是 get_the_ID,引入脚本的函数是 wp_enqueue_script。你的代码应遵循同样模式,如 my_plugin_register_settings。
类名与文件命名
类名应采用大驼峰式(StudlyCaps),并包含唯一前缀。类名应清晰描述其用途。相应的类文件命名应使用小写字母和连字符,以 class- 开头。例如,WordPress核心用于处理主查询的类名为 WP_Query,其文件命名为 class-wp-query.php。你的代码应类似,如类 My_Plugin_Asset_Loader 对应文件 class-my-plugin-asset-loader.php。
常量命名
常量名必须使用全大写字母,单词间用下划线分隔。在全局空间定义的常量(使用 define())必须包含唯一前缀。WordPress核心常量如 ABSPATH(WordPress安装绝对路径)和 WP_DEBUG(调试模式开关)都是典型例子。你的常量应类似,如 MY_PLUGIN_VERSION。
变量命名
变量名应使用小写字母和下划线,名称需清晰描述其内容,避免模糊缩写。WordPress核心代码强调使用完整词,例如用 $settings 而非 $sets,用 $user_id 而非 $uid。对于对象实例,也无需添加 _obj 等冗余后缀,直接使用如 $wpdb(数据库对象)这样的名称即可。
钩子函数命名
专为 add_action 或 add_filter 创建的钩子回调函数,命名规则与普通函数完全一致,但常通过名称体现其关联性。例如,一个用于过滤文章标题的函数可能被命名为 my_plugin_filter_post_title,其内部通过 add_filter( 'the_title', 'my_plugin_filter_post_title' ) 进行挂载,保持了清晰的对应关系。