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

3 Answers 3

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.

2
  • I think, paged.php can be used to customize paged pages - page/2/ etc. core.trac.wordpress.org/ticket/14779#comment:4
    – Amit Kosti
    Jul 11, 2012 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, 2012 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.

2
  • 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, 2012 at 15:54
  • You're absolutely, right - you stop at the first available template on the chart. Jul 11, 2012 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 and acknowledge you have read our privacy policy.

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