我有几个循环,每个循环都是根据用户的输入(在短代码中)以不同的样式显示特定类别的。现在,我想将这些(或仅其中一个)循环与循环“合并”,以显示最近的帖子,而不考虑类别。
目前这是我的代码(用于显示特定类别的帖子):
$args = array(
\'category_name\' => $category,
\'showposts\' => $numposts,
\'order\' => $order
);
$query = new WP_Query( $args );
while ($query->have_posts()) : $query->the_post();
// loop\'s usual stuff
正如我所说,它们在短代码中,所以,$category、$numpost(帖子数量)和$order是用户的输入(短代码的att)
无论如何,要显示最近的帖子,我所要做的就是去掉类别部分。然而,当我从短代码的“侧面”(通过不填充短代码也不显示它)这样做时,循环被打破了。我想这是因为我在查询参数中声明了“category”。
我尝试过:
$args = array(
if (!empty($category)) {
\'category_name\' => $category,
}
\'showposts\' => $numposts,
\'order\' => $order
);
但当然,这是一个错误:P。好吧,我想至少这可以更好地解释我想要实现的目标。
我的问题是:这有什么问题吗?或者我应该构建一个新的短代码/循环,专门用于显示最近的帖子?
提前谢谢。
编辑:
更长的代码:
function boxed_category($atts, $content) {
extract(shortcode_atts(array(
"category" => \'\',
"numposts" => \'-1\',
"order" => \'ASC\'
), $atts));
$output = \'\';
$args = array(
\'category_name\' => $category,
\'showposts\' => $numposts,
\'order\' => $order
);
$query = new WP_Query( $args );
while ($query->have_posts()) : $query->the_post();
嗯,没有太多区别-函数名,因为它最初是用来显示某个类别的(在“装箱”CSS中)-我想把这个短代码变成一个“最近的帖子”选项。我需要更多的ATT,但首先,需要弄清楚如果用户选择了“最近的帖子”选项,如何从查询中“摆脱”$类别。