{"id":721,"date":"2011-10-27T00:44:53","date_gmt":"2011-10-26T22:44:53","guid":{"rendered":"http:\/\/www.kavdesign.net\/blog\/?p=721"},"modified":"2011-10-27T01:34:25","modified_gmt":"2011-10-26T23:34:25","slug":"how-to-create-custom-wordpress-page-templates-for-example-a-page-showing-subpages","status":"publish","type":"post","link":"https:\/\/www.kavdesign.net\/blog\/coding\/how-to-create-custom-wordpress-page-templates-for-example-a-page-showing-subpages\/","title":{"rendered":"How to create custom WordPress Page templates &#8211; for example a page showing subpages"},"content":{"rendered":"<p>Create a php file with some unique name (like snarfer.php) and put it in your WordPress theme directory.<\/p>\n<p>This is the way you create a WordPress Page templates:<\/p>\n<pre>&lt;?php\r\n\/*\r\nTemplate Name: Snarfer\r\n*\/<\/pre>\n<p><!--more--><\/p>\n<p>This is an example of a Worspress Page template which displays a Page including subpages:<\/p>\n<pre>&lt;?php\r\n\/*\r\nTemplate Name: Page Including Pages\r\n*\/\r\n\r\nget_header();\r\ninclude (TEMPLATEPATH . \"\/sidebar.php\");\r\n?&gt;\r\n\r\n&lt;div id=\"content\"&gt;\r\n\r\n\u00a0 &lt;?php\r\n\u00a0 if (have_posts()) : while (have_posts()) : the_post(); ?&gt;\r\n\u00a0 &lt;!--\r\n\u00a0 &lt;h1&gt;\r\n\u00a0\u00a0\u00a0 &lt;?php the_title();?&gt;\r\n\u00a0 &lt;\/h1&gt;\r\n\u00a0 &lt;div&gt;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lt;?php the_content();?&gt;\r\n\u00a0 &lt;\/div&gt;--&gt;\r\n\u00a0 &lt;?php $page_id = get_the_ID();\r\n\u00a0 endwhile;\r\n\u00a0 endif;\r\n\r\nquery_posts(array('showposts' =&gt; 99, 'post_parent' =&gt; $page_id, 'post_type' =&gt; 'page', 'orderby' =&gt; 'menu_order', 'order' =&gt; 'ASC'));\r\n\r\n$post_counter = 0;\r\nwhile (have_posts()) : the_post();\r\n$feat = get_post_meta($post-&gt;ID, 'featured', true); \r\n\r\nif (($feat != '1')&amp;&amp;($feat != '2' )) {\r\n$post_counter = $post_counter + 1;\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\r\n?&gt;\r\n\u00a0 &lt;div id=\"&lt;?php echo \"landing_posts\" . $post_counter; ?&gt;\"&gt;\r\n\u00a0\u00a0\u00a0 &lt;div&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;?php\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ( has_post_thumbnail() ) { ?&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;?php\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$imgsrcparam = array(\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0'alt'\u00a0\u00a0 \u00a0=&gt; trim(strip_tags( $post-&gt;post_excerpt )),\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0'title'\u00a0\u00a0 \u00a0=&gt; trim(strip_tags( $post-&gt;post_title )),\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$thumbID = get_the_post_thumbnail( $post-&gt;ID, 'one', $imgsrcparam ); ?&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;div&gt;&lt;a href=\"&lt;?php the_permalink() ?&gt;\"&gt;&lt;?php echo \"$thumbID\"; ?&gt;&lt;\/a&gt;&lt;\/div&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;?php } else {?&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;div&gt;&lt;a href=\"&lt;?php the_permalink() ?&gt;\"&gt;&lt;img src=\"&lt;?php bloginfo('template_url'); ?&gt;\/images\/default-thumbnail.jpg\" alt=\"&lt;?php the_title(); ?&gt;\" \/&gt;&lt;\/a&gt;&lt;\/div&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;?php } ?&gt;\r\n\u00a0\u00a0\u00a0 &lt;\/div&gt;\r\n\u00a0\u00a0\u00a0 &lt;!-- .sepia --&gt;\r\n\u00a0\u00a0\u00a0 &lt;h2&gt;&lt;a href=\"&lt;?php the_permalink() ?&gt;\" title=\"&lt;?php the_title(); ?&gt;\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;?php the_title(); ?&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/a&gt;&lt;\/h2&gt;\r\n\u00a0\u00a0\u00a0 &lt;?php the_excerpt(); ?&gt;\r\n\u00a0\u00a0\u00a0 &lt;?php $datemeta = get_post_meta($post-&gt;ID, 'date_hidden', true);\u00a0 if ($datemeta != 1) {?&gt;\r\n\u00a0\u00a0\u00a0 &lt;div&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;?php the_time('D, d M, Y | G:i'); ?&gt;\r\n\u00a0\u00a0\u00a0 &lt;\/div&gt;\r\n\u00a0\u00a0\u00a0 &lt;?php } ?&gt;\r\n\u00a0 &lt;\/div&gt;\r\n\u00a0 &lt;?php\r\n}\r\n\r\nendwhile;\r\n\r\nwp_reset_query();\u00a0 \/\/ Restore global post data\r\nedit_post_link('Edit this entry.', '&lt;p&gt;', '&lt;\/p&gt;');\r\n?&gt;\r\n&lt;\/div&gt;\r\n&lt;div style=\"clear: both;\"&gt;&lt;\/div&gt;\r\n&lt;?php include (TEMPLATEPATH . \"\/bottom.php\"); ?&gt;\r\n&lt;?php get_footer(); ?&gt;<\/pre>\n<p>Conditional tags for a Page templates are:<br \/>\nis_page_template()<br \/>\nis_page_template( &#8216;the_name_of_yout_page_template.php&#8217; )<br \/>\nMore info for conditional tags &#8211; http:\/\/codex.wordpress.org\/Conditional_Tags<\/p>\n<p>Before you see the newly created WordPress Page template you may need to go to your theme manager and reactivate your current theme, otherwise you may not see the new Page template in the drop-down inside the administration of your pages.<\/p>\n<p>For more info and other page template examples visit: <a href=\"http:\/\/codex.wordpress.org\/Pages\">http:\/\/codex.wordpress.org\/Pages<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Create a php file with some unique name (like snarfer.php) and put it in your WordPress theme directory. This is the way you create a<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/www.kavdesign.net\/blog\/coding\/how-to-create-custom-wordpress-page-templates-for-example-a-page-showing-subpages\/\">Continue reading<span class=\"screen-reader-text\">How to create custom WordPress Page templates &#8211; for example a page showing subpages<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[9,82],"tags":[140,221,35,418],"class_list":["post-721","post","type-post","status-publish","format-standard","hentry","category-coding","category-wordpress","tag-page","tag-subpage","tag-template","tag-wordpress","entry"],"_links":{"self":[{"href":"https:\/\/www.kavdesign.net\/blog\/wp-json\/wp\/v2\/posts\/721","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kavdesign.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kavdesign.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kavdesign.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kavdesign.net\/blog\/wp-json\/wp\/v2\/comments?post=721"}],"version-history":[{"count":12,"href":"https:\/\/www.kavdesign.net\/blog\/wp-json\/wp\/v2\/posts\/721\/revisions"}],"predecessor-version":[{"id":734,"href":"https:\/\/www.kavdesign.net\/blog\/wp-json\/wp\/v2\/posts\/721\/revisions\/734"}],"wp:attachment":[{"href":"https:\/\/www.kavdesign.net\/blog\/wp-json\/wp\/v2\/media?parent=721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kavdesign.net\/blog\/wp-json\/wp\/v2\/categories?post=721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kavdesign.net\/blog\/wp-json\/wp\/v2\/tags?post=721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}