私は人々が購読できるウェブサイトを持っています。私は記事を書いたことのある実際の著者のために著者ページのみを表示したいと思います。問題を投稿するかどうかをチェックするこのコードを書いたのですが、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;?>
ありがとう
テンプレートが表示される直前に起動する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;
}
}
}