如何将此循环重写为新的WP_QUERY-LOOP?

时间:2012-10-28 作者:markratledge

如何重写if (have_posts()) : ... while (have_posts()) : the_post(); 使用以下样式将Wordpress循环设置为新的\\u查询样式循环<?php $the_query = new WP_Query();? (如所示http://codex.wordpress.org/Class_Reference/WP_Query )

下面的当前循环交替显示帖子类,以显示一个由两个帖子宽的帖子组成的网格(请参见下图)。但我需要使用一个新的查询来重写它,以便:1)添加显示后计数,2)向其添加显示后计数偏移量。原因是我需要在页面模板中使用它,并基于新查询使用另一个循环。

此循环在“不均匀帖子”和“帖子”之间交替显示类,以显示帖子(见下图)我需要在新的WP\\U查询循环中保留该函数。

<?php

    if (have_posts()) :
    $odd = false;
    while (have_posts()) : the_post();
    $odd = !$odd;
    ?>

    <div class="<?php if ($odd) echo \'uneven \'; ?>post">

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

    <?php the_excerpt(); ?> 

    </div>

    <?php endwhile; else: endif; ?>
上面的循环显示如下帖子:

enter image description here

这是一个标准的新WP\\U查询循环:

<?php $my_query = new WP_Query(\'offset=5&showposts=10\'); ?>

<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

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

<?php the_title(); ?></a>

1 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

你已经成功了95%。只需添加if ( $my_query->have_posts() ) 并将您的$odd 变量:

<?php 
$my_query = new WP_Query(\'offset=5&showposts=10\');

if ( $my_query->have_posts() ) :

    $odd = false;

    while ($my_query->have_posts()) : $my_query->the_post();

        $odd = !$odd;

        ?>

<div class="<?php if ($odd) echo \'uneven \'; ?>post">

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

<?php the_excerpt(); ?> 

</div>

    <?php

    endwhile;

endif;

结束

相关推荐

exclude category in loop.php

我用的是二十十主题。我试图从作者帖子中排除类别1。我在循环中使用了以下代码。phpquery_posts(cat=\'-1\'); while ( have_posts() ) : the_post(); ?> 但没有显示帖子。如何修复此问题?