将帖子状态从自定义状态更改为待定状态。 - Wordpress

时间:2016-11-25 15:14:22

标签: php wordpress

在我的review自定义帖子类型中,帖子应在发布前进行两次审核。 1)由管理员和2)经理。 这就是为什么我注册了一个新的自定义帖子状态 - pending_reviewpending已经在wordpress中构建。

现在,当从前端审核时,post_statuspending_review且仅显示为admin而不是manager。当它从{{1}转换时然后将其显示给管理员。然后,当经理批准/发布帖子时,其状态已更改为pending_reviewreview

现在的问题是如何将状态从pending更改为publish。在pending_review状态下按下发布按钮时。帖子会直接发布。

我试过这段代码

pending

但不起作用

1 个答案:

答案 0 :(得分:0)

首先,我想知道您的自定义帖子状态中的下划线是否可能导致某些问题?也许它是should not have an underscore

我会尝试的是以下(未经测试):

function on_all_status_transitions( $new_status, $old_status, $post ) {
    // you may add any conditionals regarding roles here ....
    if ( $new_status == 'publish' && $old_status == 'pending_review' ) {
        $post->status = 'pending';
    }
     return $post;
}
add_action(  'transition_post_status',  'on_all_status_transitions', 10, 3 );

如果有帮助,请告诉我。关于手抄本的更多信息: https://codex.wordpress.org/Post_Status_Transitions