À quoi sert le fichier paged.php?


10

Dans le contexte du diagramme de hiérarchie des modèles? D'après ce que je comprends, le fichier paged.php est quelque chose à voir avec une archive?

entrez la description de l'image ici

Réponses:


8

Si nous regardons dedans template-loader.php, nous pouvons voir les conditions dans lesquelles paged.phpseront chargés:

if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :
    $template = false;
    if     ( is_404()            && $template = get_404_template()            ) :
    elseif ( is_search()         && $template = get_search_template()         ) :
    elseif ( is_tax()            && $template = get_taxonomy_template()       ) :
    elseif ( is_front_page()     && $template = get_front_page_template()     ) :
    elseif ( is_home()           && $template = get_home_template()           ) :
    elseif ( is_attachment()     && $template = get_attachment_template()     ) :
        remove_filter('the_content', 'prepend_attachment');
    elseif ( is_single()         && $template = get_single_template()         ) :
    elseif ( is_page()           && $template = get_page_template()           ) :
    elseif ( is_category()       && $template = get_category_template()       ) :
    elseif ( is_tag()            && $template = get_tag_template()            ) :
    elseif ( is_author()         && $template = get_author_template()         ) :
    elseif ( is_date()           && $template = get_date_template()           ) :
    elseif ( is_archive()        && $template = get_archive_template()        ) :
    elseif ( is_comments_popup() && $template = get_comments_popup_template() ) :
    elseif ( is_paged()          && $template = get_paged_template()          ) :
    else :
        $template = get_index_template();
    endif;
    if ( $template = apply_filters( 'template_include', $template ) )
        include( $template );
    return;
endif;

Le dernier elseifest l'endroit où le modèle paginé est chargé s'il existe:

elseif ( is_paged()          && $template = get_paged_template()          ) :

Ce qui signifie que toutes les vérifications ci-dessus doivent retourner false pour le paged.phpmodèle à charger, la requête is_pagedet aucun autre modèle plus spécifique au contenu n'a été trouvé.


Je pense que paged.php peut être utilisé pour personnaliser les pages paginées
amit

2
oui, c'est ce qui is_paged()signifie, cependant si un autre modèle plus spécifique est disponible, ce modèle sera appelé avant paged.php. par exemple, si votre thème a un archive.phpmodèle, paged.phpil ne sera jamais utilisé pour tout type de contenu qui utilise archive.php, quel que soit le numéro de page.
Milo

2

Oui, si vous avez paged.phpprésent dans votre thème, ce modèle sera utilisé pour tout sauf la première page de l'archive. C'est dans le cas où le style / le balisage de votre archive est radicalement différent entre la première page et les pages suivantes.


1
ce n'est pas tout à fait exact, si un modèle plus spécifique comme archive.phpou category.phpexiste, paged.phpne sera pas utilisé. seulement s'il n'y a qu'un index.phpmodèle aura la paged.phppriorité.
Milo

Vous avez absolument raison - vous vous arrêtez au premier modèle disponible sur le graphique.
Stephen Harris

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.