web-dev-qa-db-fra.com

Affichage d'une seule page pour les publications paginées

Bon, alors vous savez comment briser une publication wordpress en insérant la balise rapide page/page suivante. Ensuite, en utilisant la fonction de pages de liens wp dans votre modèle, wordpress générera des liens de pages 1, 2, 3, etc. pour votre message désormais paginé.

Génial. Mais existe-t-il un moyen de remettre le message en place? Pensez à tous les magazines et journaux en ligne qui décomposent leurs articles en pages, puis offrent des variations sur une "page unique". Pouvez-vous faire cela avec Wordpress? J'ai passé tout le week-end à chercher une solution sur Google et je n'ai rien trouvé.

3
Josh M

Oui, c'est possible et je l'utilise sur mon propre site. Ici, il est en action: mon API de paramètres post est paginé, mais peut être visualisé sur une seule page , à l’aide du lien "Single-Page View".

Tout d'abord, vous devez préparer une variable de requête personnalisée, par exemple. dans functions.php, ajoutez ce qui suit:

function cbnet_parameter_queryvars( $qvars ) {
    $qvars[] = 'all';
    return $qvars;
}
add_filter( 'query_vars', 'cbnet_parameter_queryvars' );

Deuxièmement, dans la boucle, vous devez remplacer votre appel de base à the_content() par le suivant:

global $wp_query;
$no_pagination = false;
if ( isset( $wp_query->query_vars['all'] ) ) {
    $no_pagination = $wp_query->query_vars['all'];
}
if( $no_pagination ) {
    echo apply_filters( 'the_content', $post->post_content ); 
    $page=$numpages+1;
} else {
    the_content('Read the rest of this entry');
}

Enfin, vous devez ajouter un lien pour générer la vue d’une page, par exemple. à côté de vos liens "Permalink" et "Commentaires" dans votre publication Meta:

<?php 
global $numpages;
if ( is_singular() && $numpages > 1 ) { ?>
        <strong>|</strong> <a href="<?php echo add_query_arg( array( 'all' => '1'), get_permalink() ); ?>" title="single-page view">Single-Page View</a>
<?php } ?>

Désormais, lorsque vous synchronisez le lien "Vue sur une seule page", l'intégralité du contenu de la publication apparaît sur une seule page.

Remarque: h/t to ce sujet de forum de support WPORG

2
Chip Bennett