通过功能更改自定义帖子状态

时间:2019-04-10 08:44:59

标签: php wordpress hook custom-post-type

我有一个自定义帖子,用户登录后可用于在网站上注册自己的简历。我将用户发送到“待处理”状态并尝试在管理员将状态更改为“发布”时不显示此代码,以进行设置状态发布。它可以工作,但是当管理员要更改状态后,将其发布为“待处理”即可。我该如何解决?

add_filter( 'wp_insert_post_data', 'prevent_post_change', 20, 2 );
function prevent_post_change( $data, $postarr ) {
if ( ! isset($postarr['ID']) || ! $postarr['ID'] ) return $data;
if ( $postarr['post_type'] !== 'noo_resume' )
$old = get_post($postarr['ID']);
if (
    $old->post_status !== 'pending' &&
    $old->post_status !== 'trash' && 
    $data['post_status'] === 'publish' 
) {
    $data['post_status'] = 'pending';
}
return $data;
}

0 个答案:

没有答案