¿Cuál es el propósito del archivo paged.php?

10

En el contexto del cuadro de jerarquía de plantilla? Por lo que sé, ¿el archivo paged.php tiene algo que ver con un archivo?

ingrese la descripción de la imagen aquí

chrisjlee
fuente

Respuestas:

8

Si miramos adentro template-loader.php, podemos ver las condiciones bajo las cuales paged.phpse cargará:

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;

El último elseifes donde se carga la plantilla paginada si existe:

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

Lo que significa que todas las comprobaciones anteriores tienen que devolver falso para paged.phpque se cargue la plantilla, la consulta is_pagedy no se encontró ninguna otra plantilla específica de contenido.

Milo
fuente
Creo que paged.php se puede usar para personalizar páginas paginada - page / 2 / etc. core.trac.wordpress.org/ticket/14779#comment:4
amit
2
sí, eso es lo que is_paged()significa, sin embargo, si hay alguna otra plantilla más específica disponible, esa plantilla se llamará antes paged.php. por ejemplo, si su tema tiene una archive.phpplantilla, paged.phpnunca se usará para ningún tipo de contenido que use archive.php, independientemente del número de página.
Milo
2

Sí, si tiene paged.phppresente en su tema, esa plantilla se utilizará para todos menos la primera página del archivo. Esto es en caso de que el estilo / marcado de su archivo sea drásticamente diferente entre la primera página y las páginas siguientes.

Stephen Harris
fuente
1
esto no es del todo exacto, si no se usará una plantilla más específica como archive.phpo category.phpexiste paged.php. solo si solo hay una index.phpplantilla tendrá paged.phpprioridad.
Milo
Tiene toda la razón, se detiene en la primera plantilla disponible en el gráfico.
Stephen Harris