如何重置生成具有wp\\U list\\U类别的类别列表的查询?
下面的查询构建了一个两列的类别列表,然后与第二个代码块一起显示。
我在jQuery选项卡中使用其中两个查询(具有不同的类别包含字符串)来显示不同的类别列表。
问题是,第一个查询需要重置,因为第二个选项卡显示两个类别列表,而不是仅显示第二个查询中的类别。
我试过了<?php wp_reset_query();?>
但这只适用于WP循环。有人有什么想法吗?
<?php
$cats = explode
("<br />",wp_list_categories(\'title_li=&echo=0&depth=1&style=none&include=12,13,14,15,16\'));
$cat_n = count($cats) - 1;
for ($i=0;$i<$cat_n;$i++):
if ($i<$cat_n/2):
$cat_left = $cat_left.\'<li>\'.$cats[$i].\'</li>\';
elseif ($i>=$cat_n/2):
$cat_right = $cat_right.\'<li>\'.$cats[$i].\'</li>\';
endif; endfor; ?>
<ul class="leftcatcolumn">
<?php echo $cat_left;?>
</ul>
<ul class="rightcatcolumn">
<?php echo $cat_right;?>
</ul>
最合适的回答,由SO网友:Johannes Pille 整理而成
wp_list_categories()
是一个简单的函数,它返回(或回显,取决于参数)类别存档的链接列表。无需重置。
创建的新实例时WP_Query
类,您需要重置postdata,因为Template Tags 否则,请使用该查询,而不是主查询。
你说过:
我正在使用其中的两个查询(不同的类别包括字符串)。。。
我假设,“类别包括字符串”是这两个查询中唯一的区别?!
在第二次使用此代码段时,变量$cat_left
和$cat_right
是真正的罪魁祸首。它们不会被覆盖,新值会添加到数组的末尾。
将其重命名为$cat_left_2
和$cat_right_2
第二次或将其设置为NULL
中间:
// first list here
$cat_left = NULL;
$cat_right = NULL;
// second list here