如何隐藏/重定向作者页面

时间:2011-04-06 作者:Brooke.

我有一个让人们订阅的网站。我只想为写过文章的实际作者显示作者页面。我写了这个代码来检查post问题是我不能使用wp_redirect 或者包括一个使用它的模板,因为这样我会收到everyones最喜欢的“cannot redifeen headers header”消息。我可以显示“用户没有帖子,但我认为将他们重定向到主作者页面是一个更好的选择。

if ( is_author() ) : ?>

    <?php $id = get_query_var( \'author\' );

    $post_count = get_usernumposts($id);
    if($post_count <= 0){ 
                 //This line could also be wp_redirect 
                 include( STYLESHEETPATH .\'/author-redirect.php\');
                 exit;
      }
endif;?>
谢谢

1 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

你可以通过采取正确的行动在更早的时候做到这一点,比如template_redirect, 将在显示模板之前激发。

add_action( \'template_redirect\', \'wpse14047_template_redirect\' );
function wpse14047_template_redirect()
{
    if ( is_author() ) {
        $id = get_query_var( \'author\' );
        // get_usernumposts() is deprecated since 3.0
        $post_count = count_user_posts( $id );
        if ( $post_count <= 0 ) { 
            //This line could also be wp_redirect 
            include( STYLESHEETPATH .\'/author-redirect.php\' );
            exit;
        }
    }
}

结束

相关推荐

TEMPLATE_REDIRECT不工作,显然没有原因

我制作了一个插件template_redirect 对于自定义帖子类型squeezepages 它工作得很好,但我复制了完全相同的代码,将其放入一个新的插件中,激活了它(只做了一些小的调整,例如,我将自定义帖子类型改为newpages 还有template_redirect 是从另一个来源获取模板)而突然不起作用?我可以同时激活两个插件,压缩页面可以工作,新页面不能。这让我很困惑。我甚至禁用了挤压页面插件,但它仍然不起作用。我尝试了所有的组合(只有几个),但仍然没有。似乎它没有任何理由起作用。我已经盯着同