我已经创建了两个自定义帖子类型,每个类型都有几个类别。我需要运行一个查询,在我的标记的不同部分返回两种post类型的结果(“问题”、“解决方案”)。如果不重写大量依赖于每个“提示”I的jquery,我就无法更改我的标记。我尝试了各种循环,但都没有成功。有人能给我一些见解吗?下面是WordPress循环:
<?php get_header(); ?>
<?php
$args = array(
'post_type' => array('problems', 'solutions'),
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array('my-category')
)
)
);
$loop = new WP_Query( $args );
$tipID = array('tip-1','tip2','tip-3','tip-4','tip-5');
$tipID_count = count($tipID);
$tipID_index = 0;
while($loop->have_posts()) : $loop->the_post();
?>
<div class="tooltip" <?php $k = $tipID_index % $tipID_count; echo "id=#$tipID[$k]"; $tipID_index++; ?>>
<dl>
<dt><a href="" class="imageText">1</a></dt>
<!--///////problems\\\\\\\-->
<dd class="problem">
<span class="close pull_right"><a href="" class="imageText">close</a></span>
...do stuff
<div class="tip-foot"></div>
</dd>
<!--///////solutions\\\\\\\-->
<dd class="solution">
<span class="close pull_right"><a href="" class="imageText">close</a></span>
...do stuff
<div class="tip-foot"></div>
</dd>
</dl>
</div>
<?php endwhile; ?>发布于 2013-02-10 09:04:26
您可以创建两个数组,一个$problems_arr和一个$solutions_arr,并将问题帖子in放在problems数组中,将解决方案帖子in放在解决方案数组中。
这段代码未经测试,但这是一个示例:
$problems_arr = array();
$solutions_arr = array();
while($loop->have_posts()) : $loop->the_post();
if(get_post_type() == 'problems')
array_push($problems_arr, get_the_ID());
else
array_push($solutions_arr, get_the_ID());
endwhile;
for(i = 0; i<count($problems_arr); i++){
?>
<div class="tooltip" <?php $k = $tipID_index % $tipID_count; echo "id=#$tipID[$k]"; $tipID_index++; ?>>您可以使用帖子ids来显示帖子的内容,例如:
echo内容(‘the_ apply_filters’,get_post_field ('post_content',$problems_arri))
您不希望将帖子内容保存在数组中,因为它将占用大量内存,因此只需存储帖子in即可。
https://stackoverflow.com/questions/14792389
复制相似问题