如何通过WP\\u查询将一个循环拆分为两列,而不必使用两个循环,例如,左侧可能是“a和B”类的帖子,右侧可能是“C和D”类的帖子。问题是,理论上可以使用不同的参数为查询创建两个不同的循环,但页面导航只考虑一个循环的结果(因为页面导航应该适用于两列)。谢谢
Loop Split two Columns
2 个回复
最合适的回答,由SO网友:prosti 整理而成
如何通过WP\\u查询将循环拆分为两列,而不必使用两个循环
这些都是可能的if
有条件的
例如,有可能在左侧是“A和B”类员额,在右侧是“C和D”类员额。
对当然
问题是,理论上可以使用不同的参数为查询创建两个不同的循环,但页面导航只考虑一个循环的结果(因为页面导航应该适用于两列)。
您还可以逐个获取两个查询并合并结果。只是一种选择。
$enough = 20;
$args = array(
\'posts_per_page\' => $enough,
\'post_type\' => array(\'post\');
\'category__in\' => array(\'A\',\'B\',\'C\',\'D\'),
... // some more
);
// query
$q = new WP_Query( $args );
while( $q->have_posts() ) : $q->the_post();
global $post;
if(in_category(array(\'A\', \'B\') , $post)) {
?>
<div class="left">
<?php
the_title(\'<title>\',\'</title>\',true);
the_content(); ?>
</div>
}else{ ?>
<div class="right">
<?php
the_title(\'<title>\',\'</title>\',true);
the_content(); ?>
</div>
<?php
}
... // block
endwhile;
如果愿意,可以使用CSScolumn-count: 2
还有两个查询,每个查询将给出10个结果。顺便说一句,我接受了一个限制,即任何文章都不能在同一个多个类别中包含。
SO网友:rudtek
如果我这样做,我会说:
<?php
// args
$args = array(
\'posts_per_page\' => -1,
\'post_type\' => \'post\',
);
// query
$the_query = new WP_Query( $args );
if( $the_query->have_posts() ):
$column1 ="";
$column2 ="";
while( $the_query->have_posts() ) : $the_query->the_post();
if ($critera=\'TRUE\') {
$column1 =. \'<div>\'.get_title().\'</div>\'; //your own code here
}
if ($critera=\'FALSE\') {
$column2 =. \'<div>\'.get_title().\'</div>\'; //your own code here
}
echo \'<div class="row">\';
echo \'<div class="column left">\'.$column1.\'</div>\';
echo \'<div class="column right">\'.$column2.\'</div>\';
echo \'</div>\'; //ends row
php endwhile;
endif;
wp_reset_query(); // Restore global post data stomped by the_post(). ?>
不过,这只是一个示例,因为我不确定您使用什么条件来决定每篇文章将位于哪一列,而您没有发布代码。您需要确保您的代码也在条件中,并且您使用的任何主题都有行和列(类名等)。这个想法是存在的,这对我来说绝对有效。