Jaki jest cel pliku paged.php?


10

W kontekście wykresu hierarchii szablonów? Z tego, co zbieram, plik paged.php ma coś wspólnego z archiwum?

wprowadź opis zdjęcia tutaj

Odpowiedzi:


8

Jeśli przyjrzymy się template-loader.php, zobaczymy warunki, w których paged.phpzostaną załadowane:

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;

Ostatni elseifto miejsce, w którym ładowany jest szablon stronicowany, jeśli istnieje:

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

Co oznacza, że ​​wszystkie powyższe kontrole muszą zwrócić wartość false, aby paged.phpszablon został załadowany, zapytanie is_pagedi nie znaleziono żadnego innego szablonu specyficznego dla treści.


Myślę, paged.php mogą być wykorzystane w celu dostosowania stronicowanych stron - strona / 2 / itp core.trac.wordpress.org/ticket/14779#comment:4
Amit

2
tak, to is_paged()znaczy, ale jeśli dostępny jest jakiś bardziej szczegółowy szablon, szablon ten zostanie wywołany wcześniej paged.php. na przykład, jeśli Twój archive.phpszablon ma szablon, paged.phpnigdy nie będzie używany do treści, których używa archive.php, niezależnie od numeru strony.
Milo,

2

Tak, jeśli masz paged.phpmotyw w swoim szablonie, szablon ten będzie używany dla wszystkich stron oprócz archiwum. Dzieje się tak na wypadek, gdyby styl / znaczniki dla twojego archiwum drastycznie różniły się między pierwszą stroną a kolejnymi stronami.


1
nie jest to do końca dokładne, jeśli nie będzie używany bardziej szczegółowy szablon, taki jak archive.phplub category.phpistnieje paged.php. tylko jeśli index.phpszablon będzie paged.phpmiał pierwszeństwo.
Milo,

Masz absolutną rację - zatrzymujesz się na pierwszym dostępnym szablonie na wykresie.
Stephen Harris,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.