wordpress作者发布计数限制

时间:2015-12-16 17:10:49

标签: wordpress

我正在尝试限制作者的帖子,目前我允许2个帖子不超过2个帖子,目前我有少数用户超过2个帖子所以我如何修复我的代码所以它不允许他们做任何更多帖子。

 if ($post_count < 2) {
        return TRUE;
    } else {
       echo 'You have already posted your maximum number of posts.';
        return FALSE;
    }
}

正如我所说,很少有作者有超过2个帖子所以使用这个代码将允许他们发帖,因为if if声明将被绕过,因为它试图检测值2,因为他们已经过去了。

1 个答案:

答案 0 :(得分:0)

您应该使用wp_insert_post_data过滤器。在此过滤器中定义您的条件。 所以它会是这样的:

add_filter('wp_insert_post_data', 'aa_func_20150916080916', 20, 2);
function aa_func_20150916080916($data , $postarr)
{
  $warn = "You have already posted your maximum number of posts";
  $current_user = get_current_user_id();
  $user_post_count = count_user_posts($current_user);
  if($user_post_count >2 ) {
    return wp_die($warn);
  }
  return $data;
}

请注意:这是快速回答,您应该为您的目的更改代码。

文档:https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_insert_post_data