10

In context of the template hierarchy chart? From what i gather, the paged.php file is something to do with an archive?

enter image description here

8

If we look in template-loader.php, we can see the conditions under which paged.php will be loaded:

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;

The last elseif is where the paged template is loaded if it exists:

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

Which means that all of the checks above have to return false for the paged.php template to be loaded, the query is_paged and no other more content-specific template was found.

  • I think, paged.php can be used to customize paged pages - page/2/ etc. core.trac.wordpress.org/ticket/14779#comment:4 – amit Jul 11 '12 at 18:56
  • 2
    yes, that's what is_paged() means, however if any other more specific template is available, that template will be called before paged.php. for example, if your theme has an archive.php template, paged.php will never be used for any type of content that uses archive.php, regardless of page number. – Milo Jul 11 '12 at 19:20
2

Yup, if you have paged.php present in your theme, that template will be used for all but the first page of the archive. This is in case the styling/markup for your archive is drastically different between the first page, and subsequent pages.

  • 1
    this isn't entirely accurate, if a more specific template like archive.php or category.php exists, paged.php will not be used. only if there's just an index.php template will paged.php take precedence. – Milo Jul 11 '12 at 15:54
  • You're absolutely, right - you stop at the first available template on the chart. – Stephen Harris Jul 11 '12 at 16:36
1

Note that as of WP 4.7 paged.php has been removed from the template loader altogether and thus the template hierarchy.

https://core.trac.wordpress.org/changeset/38755

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.