web-dev-qa-db-ja.com

作者ページを隠す/リダイレクトする方法

私は人々が購読できるウェブサイトを持っています。私は記事を書いたことのある実際の著者のために著者ページのみを表示したいと思います。問題を投稿するかどうかをチェックするこのコードを書いたのですが、wp_redirectを使うことも、それを使うテンプレートを含めることもできません。私は "ユーザーには投稿メッセージがありませんが、メインの著者ページにリダイレクトすることをお勧めします。

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;?>

ありがとう

3
Brooke.

テンプレートが表示される直前に起動する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;
        }
    }
}
4
Jan Fabry