使用wordpress中的函数更新字段

Updating a field with a function in wordpress

我正在尝试编写一个函数,当 post 状态设置为 'publish' 时,该函数将自动勾选后端的复选框字段。这是我的 functions.php 顺便说一句。

function featured_post(){
if( get_post_status() == 'publish' )
{
update_post_meta( $post->ID, '_featured', '1' );
}
}

我已通过调用 featured_post() 在 post 预览模板中将函数设置为 运行,但它似乎不起作用。谁能指出我正确的方向?

您需要使用操作挂钩才能使您的函数正常工作。在您的情况下,您需要像下面这样使用 post_updated 挂钩:

function set_featured_post($post_ID, $post_after, $post_before){
  if( get_post_status($post_ID) == 'publish' ){
    update_post_meta( $post_ID, '_featured', '1' );
  }
}

add_action( 'post_updated', 'set_featured_post', 10, 3 );

通过 WordPress Codex

了解有关此挂钩的更多信息