在页面模板上遇到冲突循环

时间:2013-08-19 作者:user14522

我是WordPress的新手,我的页面模板和边栏循环有问题。我在侧边栏中创建了一个显示某个类别中的帖子的块,它还在每个帖子的标题下方显示一个自定义字段,代码如下所示:

<?php $published = get_post_meta( $post->ID, \'article_Details\', true ); ?>

<div id="sidebar">
  <div id="latest">
    <h2>Recent Articles</h2>
    <?php 
        $catquery = new WP_Query( \'cat=2&posts_per_page=6\' ); 
        while($catquery->have_posts()) : $catquery->the_post();
    ?>
    <a class="listing" href="<?php the_permalink() ?>"><?php the_title(); ?></a>

    <p class="pubdetails"><?php echo $published[0][\'publication-details\']; ?></p>

    <?php endwhile; ?>

  </div></div>
它可以正确地显示在单个帖子、类别和主页上,但对于每个page 在它应该位于的站点上,它会中断,只显示块中的第一个项目,而不显示自定义字段,并且站点的foooter永远不会出现。

我用于页面的模板如下所示:

<?php get_header(); ?>

<div id="main">
    <?php while (have_posts()) : the_post(); ?>

    <article <?php post_class(); ?>>

        <header class="entry-header">

            <h1 class="entry-title"><?php the_title(); ?></h1>

        </header>

        <div class="entry-content">

            <?php the_content(); ?>

        </div>

    </article>
    </div>

<?php endwhile; ?>

<?php get_sidebar(); ?>

<?php get_footer(); ?>
我不确定问题出在哪里,我已经尝试过改变一些东西来修复页面模板和侧栏模板中的代码,但到目前为止没有任何运气。

1 个回复
SO网友:sri

您基本上是在更改侧栏中的循环,这可能会影响主模板中的循环。为了使您的循环保持得体,我建议您对侧条码执行类似操作。

$temp = $wp_query;
<?php 
        $catquery = new WP_Query( \'cat=2&posts_per_page=6\' ); 
        while($catquery->have_posts()) : $catquery->the_post();
    ?>
    <a class="listing" href="<?php the_permalink() ?>"><?php the_title(); ?></a>

    <p class="pubdetails"><?php echo $published[0][\'publication-details\']; ?></p>

    <?php endwhile; ?>
$wp_query = $temp;
希望这有帮助!

结束

相关推荐

Problems with loop

我的索引中有这个循环。php: <?php if (have_posts()) : while (have_posts()) : get_template_part( \'post\' ); endwhile; endif; ?> 调用此模板<?php ?> <h2 id=\"post-<?php the_ID()