The following are instructional examples of custom page template files. Please Note: Your WordPress theme’s template file structure and HTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. structure may be different.
This example of a page template displays the content at the top, then a list of archives (by month), then the site categories below that.
Save this to archives-content.php
and then assign the Archives with Content template to your new page:
<?php
/*
Template Name: Archives with Content
*/
get_header(); ?>
<div id="content" class="widecolumn">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="post">
<h2 id="post-<?php the_ID(); ?>"><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content( 'Read the rest of this page »' ); ?>
</div>
</div>
<?php endwhile; endif; ?>
<?php edit_post_link( 'Edit this entry.', '<p>', '</p>' ); ?>
</div>
<div id="main">
<?php get_search_form(); ?>
<h2>Archives by Month:</h2>
<ul>
<?php wp_get_archives( 'type=monthly' ); ?>
</ul>
<h2>Archives by Subject:</h2>
<ul>
<?php wp_list_categories(); ?>
</ul>
</div>
<?php get_footer(); ?>
The following custom page template displays the content of the page, followed by the posts from two specific categories (specified by their category The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. slugs). It is designed to work within a child theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/. of the Twenty Thirteen theme. If you are using a different theme, you need to replicate the HTML structure of your own theme within this template.
Save this to posts-page.php
and then assign the Page of Posts template to your new page:
<?php
/*
Template Name: Page of Posts
*/
/* This example is for a child theme of Twenty Thirteen:
* You'll need to adapt it to the HTML structure of your own theme.
*/
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
/* The loop: the_post retrieves the content
* of the new Page you created to list the posts,
* e.g., an intro describing the posts shown listed on this Page..
*/
if ( have_posts() ) : while ( have_posts() ) : the_post();
// Display content of page
get_template_part( 'content', get_post_format() );
wp_reset_postdata();
endwhile;
endif;
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
// Change these category SLUGS to suit your use.
'category_name' => 'music, videos',
'paged' => $paged
);
$list_of_posts = new WP_Query( $args ); ?>
<?php if ( $list_of_posts->have_posts() ) : ?>
<?php /* The loop */ ?>
<?php while ( $list_of_posts->have_posts() ) : $list_of_posts->the_post(); ?>
<?php // Display content of posts ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>
<?php twentythirteen_paging_nav(); ?>
<?php else : ?>
<?php get_template_part( 'content', 'none' ); ?>
<?php endif; ?>
</div><!-- #content -->
</div><!-- #primary -->
<?php get_footer(); ?>