Stop post being published

时间:2017-02-09 作者:frank astin

如果某个页面使用transition_post_status 钩然而WP_DIE 不会阻止发布帖子。

function check_post_limit( $new_status, $old_status, $post ) {

      if($new_status == \'publish\'){

          wp_die();
      }
 }

add_action( \'transition_post_status\', \'check_post_limit\', 10, 3 );
`

1 个回复
SO网友:Johansson

wp_die(); 将在发布帖子后运行。您正在检查该帖子是否已发布,这意味着该帖子已发布,已完成的操作已完成。您可以将状态从“已发布”更新为“草稿”,而不是使用wp_die();. 以下代码将执行此操作:

function check_post_limit( $ID, $post ) {
          $post = array( \'ID\' => $ID, \'post_status\' => \'draft\' );
          wp_update_post($post);
 }
add_action( \'publish_post\', \'check_post_limit\', 10, 2 );

相关推荐

Optimize shortcode callbacks

我创建了一个插件,在我的WordPress站点中添加了一些短代码。但我是一个PHP新手,所以我相信它可能有一些错误或优化它的方法。它工作正常,显然没有问题。内存使用率为00.04MB。你能看看吗?非常感谢!add_action( \'wp_enqueue_scripts\', \'prefix_add_my_stylesheet\' ); function prefix_add_my_stylesheet() { // Respects SSL, Styl