web-dev-qa-db-fra.com

Pagination pour les pages et les messages

Je souhaite utiliser la pagination dans un nouveau thème, mais je ne parviens pas à le faire fonctionner correctement.

J'utilise du code dans mon fichier functions.php, puis j'appelle cette fonction. Cela fonctionne sur la page "blog" mais pas sur les publications ou les pages paginées.

Voici mon code:

// Pagination for paged posts, Page 1, Page 2, Page 3, with Next and Previous Links, No plugin
function canvas_pagination()
{
    global $wp_query;
    $big = 999999999;
    echo paginate_links(array(
        'base' => str_replace($big, '%#%', get_pagenum_link($big)),
        'format' => '?paged=%#%',
        'current' => max(1, get_query_var('paged')),
        'total' => $wp_query->max_num_pages,
        'type' => 'list'
    ));
}

add_action('init', 'canvas_pagination'); // Add our Pagination

Et appelez la fonction: <?php get_template_part('pagination'); ?>

Ce code fonctionne très bien dans le fichier index.php. Voir ici: http://website-test-lab.com/sites/blank_canvas/blog/

Mais pas dans single.php et page.php:

  • URL du site +/paginé /
  • URL DU SITE +/page-pagination/( Impossible d'ajouter plus de 2x liens ici )

Quelqu'un peut-il expliquer pourquoi cela ne fonctionne pas et ce qui doit être modifié pour le réparer.

J'ai essayé d'utiliser wp_link_pages mais cela ne me permet pas de personnaliser le résultat dont j'ai besoin.

Merci d'avance

1
Huw Rowlands

Navigation dans les publications

Voici comment cela est fait dans le fichier single.php de Twenty Twelve themes, mais il semble que Twenty Fourteen ait une meilleure solution qui fonctionne également pour les pages.

<nav class="nav-single">
                <h3 class="assistive-text"><?php _e( 'Post navigation', 'twentytwelve' ); ?></h3>
                <span class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '&larr;', 'Previous post link', 'twentytwelve' ) . '</span> %title' ); ?></span>
                <span class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post link', 'twentytwelve' ) . '</span>' ); ?></span>
            </nav><!-- .nav-single -->

Vous pouvez insérer ce code dans votre fichier de fonctions à l'aide d'un crochet spécifique à un thème ou en filtrant le crochet de contenu WordPress.

Il y a quelques bons exemples d'utilisation du filtre de contenu dans votre fichier de fonctions ici .

Plus http://codex.wordpress.org/Next_and_Previous_Links

Navigation de page

Voici un tutoriel que j'ai écrit qui utilise le code du thème Twenty Fourteen.

Il crée une balise de modèle que vous pouvez utiliser dans une fonction personnalisée avec des balises hook et conditionnelles ou directement dans un fichier de modèle.

1
Brad Dalton