基于用户帖子计数的重定向

时间:2017-02-20 作者:Beyond55

我不知所措。。

我想检查当前用户的帖子数量。如果post计数为1,则应重定向用户。我已经测试了以下代码:

add_action( \'template_redirect\', \'redirect_to_specific_page\' );

function redirect_to_specific_page() {
$current_user = wp_get_current_user();
    if (empty($the_user_id)) {
        $the_user_id = $current_user->ID;
    }
$user_post_count = count_user_posts( $the_user_id );

  if ( is_page(\'butiktest\') && $user_post_count == 1 ) {

        wp_redirect( \'enhytte\', 301 ); 

    exit;

    }

}
然而,无论帖子数量多少,上述代码都将重定向。

我做错了什么?

编辑:在指出我的语法错误是缺少“=”之后,它仍然不起作用。

编辑2:该代码在理论上是可行的,但是,一旦添加了一个帖子user_post_count 不会更新,并保持在以前的值。

EDIT3:count\\u user\\u posts仅统计已发布的帖子,如何检查“待定”和“草稿”?

2 个回复
最合适的回答,由SO网友:TrubinE 整理而成

    add_action( \'template_redirect\', \'redirect_to_specific_page\' );

    function redirect_to_specific_page() {
    global $post;

    $current_user = $post->post_author;

    if(!empty($current_user)){
    $user_post_count = (int) count_user_posts( $current_user );

       if ( is_page(\'butiktest\') && $user_post_count == 1 ) {

            wp_redirect( \'enhytte\', 301 ); 

            exit;

      }
   }        
   }
授权用户:$current_user = wp_get_current_user();

SO网友:Svartbaard

您只是有一个拼写错误,应该是:

$user_post_count == 1

相关推荐

Gravity Forms - RMA Count

我是Wordpress的新手,所以想知道是否有人可以帮忙?我正在通过重力表单创建一个返回表单。然而,在每个表单的顶部,我想显示一个退货表单编号,例如RMA001、RMA002等。我想这可能可以使用一些编码来完成,但不知道如何编码。请你让我知道如何做到这一点,并解释我需要在哪里添加代码。如果您能掌握简单的英语,我们将不胜感激!非常感谢!本