最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

categories - display specific category on page

programmeradmin2浏览0评论

I have been trying to get the posts from a certain category to show on a specific page. i am using the rock star theme and figured i could create a new page, use it as the template and use the coding from the Archive page and just make it read the contests category and show them on that page like they show on the normal category/contests page. here is the coding from the archive page if anyone could help id be so grateful!

<?php
/**
 * The template for displaying Archive pages
 *
 * Learn more: 
 *
 * @package Catch Themes
 * @subpackage Rock Star
 * @since Rock Star 0.3
 */

get_header(); ?>

    <?php if ( have_posts() ) : ?>
        <header class="page-header" style="animation-delay: 0.3s; animation-duration: 2s;">
            <?php
                the_archive_title( '<h1 class="page-title">', '</h1>' );
                the_archive_description( '<div class="taxonomy-description">', '</div>' );
            ?>
        </header>

        <div id="archive-blog-wrapper" class="archive-blog-wrapper three-columns">

            <?php /* Start the Loop */ ?>
            <?php while ( have_posts() ) : the_post(); ?>
                <?php
                    /* Include the Post-Format-specific template for the content.
                     * If you want to override this in a child theme, then include a file
                     * called content-___.php (where ___ is the Post Format name) and that will be used instead.
                     */
                    get_template_part( 'content', get_post_format() );
                ?>
            <?php endwhile; ?>
        </div><!-- archive-blog-wrapper -->

        <?php rock_star_content_nav( 'nav-below' ); ?>

    <?php else : ?>

        <?php get_template_part( 'content', 'none' ); ?>

    <?php endif; ?>

<?php
get_sidebar();
get_footer(); ?>

I have been trying to get the posts from a certain category to show on a specific page. i am using the rock star theme and figured i could create a new page, use it as the template and use the coding from the Archive page and just make it read the contests category and show them on that page like they show on the normal category/contests page. here is the coding from the archive page if anyone could help id be so grateful!

<?php
/**
 * The template for displaying Archive pages
 *
 * Learn more: http://codex.wordpress/Template_Hierarchy
 *
 * @package Catch Themes
 * @subpackage Rock Star
 * @since Rock Star 0.3
 */

get_header(); ?>

    <?php if ( have_posts() ) : ?>
        <header class="page-header" style="animation-delay: 0.3s; animation-duration: 2s;">
            <?php
                the_archive_title( '<h1 class="page-title">', '</h1>' );
                the_archive_description( '<div class="taxonomy-description">', '</div>' );
            ?>
        </header>

        <div id="archive-blog-wrapper" class="archive-blog-wrapper three-columns">

            <?php /* Start the Loop */ ?>
            <?php while ( have_posts() ) : the_post(); ?>
                <?php
                    /* Include the Post-Format-specific template for the content.
                     * If you want to override this in a child theme, then include a file
                     * called content-___.php (where ___ is the Post Format name) and that will be used instead.
                     */
                    get_template_part( 'content', get_post_format() );
                ?>
            <?php endwhile; ?>
        </div><!-- archive-blog-wrapper -->

        <?php rock_star_content_nav( 'nav-below' ); ?>

    <?php else : ?>

        <?php get_template_part( 'content', 'none' ); ?>

    <?php endif; ?>

<?php
get_sidebar();
get_footer(); ?>
Share Improve this question edited Feb 10, 2017 at 23:37 David Lee 3,9413 gold badges15 silver badges20 bronze badges asked Feb 10, 2017 at 21:47 awfuleyemediaawfuleyemedia 11 bronze badge
Add a comment  | 

1 Answer 1

Reset to default 1

Just use WP_QUERY to achieve that.

<?php if ( have_posts() ) : ?>
    <header class="page-header" style="animation-delay: 0.3s; animation-duration: 2s;">
        <?php
            the_archive_title( '<h1 class="page-title">', '</h1>' );
            the_archive_description( '<div class="taxonomy-description">', '</div>' );
        ?>
    </header>

    <div id="archive-blog-wrapper" class="archive-blog-wrapper three-columns">

        <?php /* Start the Loop */ ?>
        <?php
        //set up a new query
        $category_query=new wp_query( array( 'cat' => 'put your category id here');

      while ( $category_query->have_posts() ) : the_post(); ?>
            <?php
                /* Include the Post-Format-specific template for the content.
                 * If you want to override this in a child theme, then include a file
                 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
                 */
                get_template_part( 'content', get_post_format() );
            ?>
        <?php endwhile; ?>
    </div><!-- archive-blog-wrapper -->

    <?php rock_star_content_nav( 'nav-below' ); ?>

<?php else : ?>

    <?php get_template_part( 'content', 'none' ); ?>

<?php endif; ?>
发布评论

评论列表(0)

  1. 暂无评论