[Theme: Customizr] Add blog or custom post list templates to Customizr [How to]
-
<?php /* * Template Name: Blog Posts * @package Customizr * @since Customizr 3.0.12 */ ?> <?php do_action( '__before_main_wrapper' ); ##hook of the header with get_header ?> <?php tc__f('rec' , __FILE__ , __FUNCTION__ ); ?> <div id="main-wrapper" class="container"> <?php do_action( '__before_main_container' ); ##hook of the featured page (priority 10) and breadcrumb (priority 20)...and whatever you need! ?> <div class="container" role="main"> <div class="row"> <?php do_action( '__before_article_container'); ##hook of left sidebar?> <?php query_posts('post_type=post&post_status=publish&posts_per_page=10&paged='. get_query_var('paged')); ?> <div class="<?php echo tc__f( '__screen_layout' , tc__f ( '__ID' ) , 'class' ) ?> article-container"> <?php do_action ('__before_loop');##hooks the header of the list of post : archive, search... ?> <?php if ( tc__f('__is_no_results') || is_404() ) : ##no search results or 404 cases ?> <article <?php tc__f('__article_selectors') ?>> <?php do_action( '__loop' ); ?> </article> <?php endif; ?> <?php if ( have_posts() && !is_404() ) : ?> <?php while ( have_posts() ) : ##all other cases for single and lists: post, custom post type, page, archives, search, 404 ?> <?php the_post(); ?> <article <?php tc__f('__article_selectors') ?>> <?php do_action( '__loop' ); ?> </article> <?php endwhile; ?> <?php endif; ##end if have posts ?> <?php do_action ('__after_loop');##hook of the comments and the posts navigation with priorities 10 and 20 ?> </div><!--.article-container --> <?php wp_reset_query(); ?> <?php do_action( '__after_article_container'); ##hook of left sidebar?> </div><!--.row --> </div><!-- .container role: main --> <?php do_action( '__after_main_container' ); ?> </div><!--#main-wrapper"--> <?php do_action( '__after_main_wrapper' );##hook of the footer with get_get_footer ?>
Save the code above in your child theme folder, as blog.php, than select it as the page template for the page you want to display your blog on.
You’re done. You can now have your blog on both front page and any other page at the same time.
Besides, you can modify this template to display a different list of posts. Or anything else, really… like custom posts, posts from custom taxonomies, posts from a select number of categories, posts by one or more authors, posts with a specific value in a specific custom post meta, or any combination of the above. And more. Just see query_posts documentation. That’s where all the magic of this template resides.
After you’ve made your query_posts() return the results you want, you need to change the name of the template accordingly, change the name of the file accordingly (there is a naming structure logic for templates in WP, if you want your template to apply automatically to different archives, for example) and select it as page template for the page you want to display the custom list on. Just don’t remove the
&paged='. get_query_var('paged')
part from query_posts(), or you will lose pagination.
Enjoy.
- The topic ‘[Theme: Customizr] Add blog or custom post list templates to Customizr [How to]’ is closed to new replies.