限制发布类型发布状态

时间:2014-06-02 作者:Tom J Nowell

我有一个自定义的帖子类型和一个完全自定义的用户界面来访问它,并希望这些帖子具有发布状态。我知道如何让它们跳过垃圾并立即被删除,但这仍然给我留下了草稿和私人帖子。

有没有办法防止帖子被标记为草稿或私有?我可以在CSS中隐藏控件,但我想在代码中这样做,以确保这是不可能的,是否有一个方便的过滤器可以使用?

1 个回复
SO网友:birgire

我想知道你是否可以使用这样简单的东西:(类似于@ialocin的建议)

/**
 * Use the "Force" on the post status ;-)
 */

add_action( \'wp_insert_post_data\', function( $data, $postarr ){

    $change_post_status = array( \'draft\', \'private\' ); // Edit to your needs

    if( \'cpt\' === $data[\'post_type\'] 
         && in_array( $data[\'post_status\'], $change_post_status, TRUE ) 
    )
        $data[\'post_status\'] = \'publish\';

    return $data;

}, PHP_MAX_INT, 2 );
当post状态值是$change_post_status 数组-保存帖子之前。

(…或者我可能误解了设置;-)

结束

相关推荐