Wordpress - 只有最新的帖子显示在帖子页面上?

时间:2014-12-28 19:15:08

标签: php wordpress wordpress-theming

我正在创建自定义主题,在single.php文件中,我有主循环,但是如果我导航到不同的帖子,所有显示的都是最新帖子。我可以去不同的永久链接,但唯一显示的帖子是最新的帖子。如何制作以便显示正确的帖子?

我尝试更改永久链接并删除和添加页面,但我得到了相同的结果。 这是single.php

<?php while(have_posts()): the_post();?>

<section class="main-section">
    <header>
        <h1 class="section-header"><?php the_category('/');?></h1>
        <ul class="section-nav">
            <?php
                $cat = get_the_category()[0];
                $categoryPosts = get_posts(array('category' => $cat->term_id));

                foreach($categoryPosts as $post): setup_postdata($post);
            ?>

                <li><a href="<?php the_permalink();?>"><?php the_title(); ?></a></li>

            <?php endforeach; ?>
        </ul>
    </header>
    <h2 class="section-blurb"><?php the_title();?></h2>
    <div class="info">
        <?php the_content(); ?>
    </div>
</section>

<?php endwhile;?>

一切正常......但仅限于最新帖子。如何制作以显示相应的帖子?

2 个答案:

答案 0 :(得分:1)

您可以使用orderby进行排序 &#39;的OrderBy&#39;

$categoryPosts = get_posts(array('category' => $cat->term_id, 'orderby' => 'post_date',    'order' => ASC));

供参考,请参阅此链接

http://codex.wordpress.org/Template_Tags/get_posts

答案 1 :(得分:0)

嗨,这听起来像一个简单的修复。这是一个儿童主题。尝试保存当前的single.php文件并将其替换为新的single.php文件,使用wp主题,以下内容来自wp 2012 single.php标记

<?php
/**
 * The Template for displaying all single posts
 *
 * @package WordPress
 * @subpackage Twenty_Twelve
 * @since Twenty Twelve 1.0
 */

get_header(); ?>

    <div id="primary" class="site-content">
        <div id="content" role="main">

            <?php while ( have_posts() ) : the_post(); ?>

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

                <nav class="nav-single">
                    <h3 class="assistive-text"><?php _e( 'Post navigation', 'twentytwelve' ); ?></h3>
                    <span class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '&larr;', 'Previous post link', 'twentytwelve' ) . '</span> %title' ); ?></span>
                    <span class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post link', 'twentytwelve' ) . '</span>' ); ?></span>
                </nav><!-- .nav-single -->

                <?php comments_template( '', true ); ?>

            <?php endwhile; // end of the loop. ?>

        </div><!-- #content -->
    </div><!-- #primary -->

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