Яка мета файлу paged.php?


10

У контексті діаграми ієрархії шаблонів? Що я збираю, файл paged.php щось стосується архіву?

введіть тут опис зображення

Відповіді:


8

Якщо ми заглянемо template-loader.php, ми зможемо побачити умови, за яких paged.phpбуде завантажено:

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;

Останнє elseif- це те, куди завантажується підказка шаблону, якщо він існує:

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

Що означає, що всі перелічені вище перевірки повинні повертати помилкове значення для завантаження paged.phpшаблону, запит is_pagedта жоден інший шаблон, не залежно від вмісту, не знайдено.


Я думаю, paged.php може бути використаний для настройки сторінкового сторінок - сторінка / 2 / і т.д. core.trac.wordpress.org/ticket/14779#comment:4
Аміт

2
так, це is_paged()означає, але якщо є якийсь інший більш конкретний шаблон, він буде викликаний раніше paged.php. Наприклад, якщо ваша тема має archive.phpшаблон, paged.phpвона ніколи не буде використовуватися для будь-якого типу вмісту, який використовується archive.php, незалежно від номера сторінки.
Міло

2

Так, якщо у вас є paged.phpподарунок у вашій темі, цей шаблон буде використовуватися для всіх , крім першої сторінки архіву. Це в тому випадку, якщо стилізація / розмітка для вашого архіву різко відрізняється між першою та наступною сторінками.


1
це не зовсім точно, якщо більш конкретний шаблон на кшталт archive.phpабо category.phpіснує, paged.phpне буде використаний. тільки якщо є лише index.phpшаблон, буде paged.phpперевага.
Міло

Ви абсолютно вірно - зупиняєтесь на першому доступному шаблоні на діаграмі.
Стівен Харріс

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.