web-dev-qa-db-fra.com

Comment cacher/rediriger la page de l'auteur

J'ai un site Web où je laisse les gens s'abonner. J'aimerais afficher uniquement la page de l'auteur pour les auteurs actuels qui ont écrit un article. J'ai écrit ce code qui vérifie si le problème est post est que je ne peux pas utiliser un wp_redirect ou inclure un modèle qui l'utilise parce qu'ensuite je reçois le message favori de Everyones "ne peut pas redéfinir l'en-tête". Je pourrais afficher un message "L'utilisateur n'a pas de message, mais je pense que les rediriger vers la page principale de l'auteur est une meilleure option.

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

Merci

3
Brooke.

Vous pouvez le faire plus tôt en intégrant l'action appropriée, telle que template_redirect, qui se déclenche juste avant que le modèle ne soit affiché.

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