WordPress 自动添加指定自定义字段的内容
在 WordPress 开发中,有时需要为特定类型的文章自动添加预设的自定义字段(Post Meta)。这可以通过 save_post 钩子来实现。下面是一个示例代码,当保存类型为 inventory 的文章时,会自动为其添加一个名为 market_value 的自定义字段,并设置其值为 TEST_STRING。
add_action( 'save_post', 'update_tmv' );
function update_tmv($postid) {
if ( !wp_is_post_revision( $postid ) && get_post_type( $postid ) == 'inventory') {
$field_name = 'market_value';
add_post_meta($postid, $field_name, 'TEST_STRING', true);
}
}
代码说明
add_action( 'save_post', 'update_tmv' );:将自定义函数update_tmv挂载到save_post动作上,该动作在文章(或自定义文章类型)保存时触发。!wp_is_post_revision( $postid ):此条件确保代码不会在保存文章修订版时执行,避免重复添加。get_post_type( $postid ) == 'inventory':此条件将操作限制在文章类型为inventory的文章上。请根据你的实际需求修改此类型。add_post_meta($postid, $field_name, 'TEST_STRING', true);:这是添加自定义字段的核心函数。最后一个参数true表示如果字段已存在,则保持原值(不更新)。如果希望每次保存都强制更新为TEST_STRING,应使用update_post_meta函数。
注意事项
- 将代码添加到当前主题的
functions.php文件或自定义功能插件中。 - 请根据你的实际需求,修改
inventory(文章类型)、market_value(字段名)和TEST_STRING(字段值)。 - 如果希望字段值可以被后续保存操作更新,建议将
add_post_meta替换为update_post_meta。 - 在生产环境中,建议为字段值使用更有意义的动态数据,而非固定的测试字符串。