Was ist der Zweck der Datei paged.php?


10

Im Kontext des Vorlagenhierarchiediagramms? Soweit ich weiß, hat die Datei paged.php etwas mit einem Archiv zu tun?

Geben Sie hier die Bildbeschreibung ein

Antworten:


8

Wenn wir hineinschauen template-loader.php, können wir die Bedingungen sehen, unter denen paged.phpgeladen wird:

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;

In der letzten elseifwird die ausgelagerte Vorlage geladen, falls vorhanden:

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

Dies bedeutet, dass alle oben genannten Überprüfungen false zurückgeben müssen, damit die paged.phpzu ladende Vorlage, die Abfrage is_pagedund keine andere inhaltsspezifische Vorlage gefunden wurden.


Ich denke, paged.php kann verwendet werden, um ausgelagerte Seiten anzupassen - Seite / 2 / etc. core.trac.wordpress.org/ticket/14779#comment:4
amit

2
Ja, das is_paged()bedeutet, aber wenn eine andere spezifischere Vorlage verfügbar ist, wird diese Vorlage zuvor aufgerufen paged.php. Wenn Ihr Thema beispielsweise eine archive.phpVorlage enthält, paged.phpwird diese archive.phpunabhängig von der Seitenzahl niemals für Inhalte verwendet , die verwendet werden.
Milo

2

Ja, wenn Sie paged.phpin Ihrem Thema vorhanden sind, wird diese Vorlage für alle außer der ersten Seite des Archivs verwendet. Dies ist der Fall, wenn sich das Styling / Markup für Ihr Archiv zwischen der ersten Seite und den nachfolgenden Seiten drastisch unterscheidet.


1
Dies ist nicht ganz richtig, wenn eine spezifischere Vorlage wie archive.phpoder category.phpvorhanden paged.phpnicht verwendet wird. Nur wenn es nur eine index.phpVorlage gibt paged.php, hat dies Vorrang.
Milo

Sie haben absolut Recht - Sie halten bei der ersten verfügbaren Vorlage in der Tabelle an.
Stephen Harris

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.