Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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

share|improve this question
add comment

2 Answers

up vote 7 down vote accepted

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.

share|improve this answer
    
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
add comment

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.

share|improve this answer
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
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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