Qual è lo scopo del file paged.php?


10

Nel contesto del grafico della gerarchia dei modelli? Da quello che raccolgo, il file paged.php ha a che fare con un archivio?

inserisci qui la descrizione dell'immagine

Risposte:


8

Se guardiamo dentro template-loader.php, possiamo vedere le condizioni in cui paged.phpverrà caricato:

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;

L'ultimo elseifè dove viene caricato il modello di paging se esiste:

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

Ciò significa che tutti i controlli di cui sopra devono restituire false per il paged.phpmodello da caricare, la query is_pagede nessun altro modello più specifico per il contenuto è stato trovato.


Credo che, paged.php può essere utilizzato per personalizzare le pagine di paging - Pagina / 2 / ecc core.trac.wordpress.org/ticket/14779#comment:4
Amit

2
sì, questo è ciò che is_paged()significa, tuttavia, se è disponibile un altro modello più specifico, quel modello verrà chiamato prima paged.php. ad esempio, se il tema ha un archive.phpmodello, paged.phpnon verrà mai utilizzato per alcun tipo di contenuto che utilizza archive.php, indipendentemente dal numero di pagina.
Milo,

2

Sì, se hai paged.phppresente il tuo tema, quel modello verrà utilizzato per tutti tranne la prima pagina dell'archivio. Questo nel caso in cui lo stile / markup per il tuo archivio sia drasticamente diverso tra la prima pagina e le pagine successive.


1
questo non è del tutto esatto, se un modello più specifico come archive.phpo category.phpesiste, paged.phpnon verrà utilizzato. solo se c'è solo un index.phpmodello avrà la paged.phpprecedenza.
Milo,

Hai assolutamente ragione, ti fermi al primo modello disponibile sul grafico.
Stephen Harris,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.