有没有办法从自定义WP_Query以编程方式触发标准显示帖子列表,就像“类别”菜单项一样?
澄清:
我不是在寻找像List category posts这样的插件来完成这项工作,而是使用自定义的内置模板
我需要触发wp(主题)标准的帖子列表渲染循环!
谢谢!
答案 0 :(得分:0)
将此代码放在需要从“example_category_slug”类别(或任何其他分类法)中呈现帖子列表的位置。
$wpq = array ('taxonomy'=>'category','term'=>'example_category_slug');
$myquery = new WP_Query ($wpq);
$article_count = $myquery->post_count;
echo "<ul>";
if ($article_count){
while ($myquery->have_posts()) : $myquery->the_post();
echo "<li><a href=\"".get_permalink()."\">".$post->post_title."</a></li>";
endwhile;
}
echo "</ul>";
或使用更简单的查询,例如{id}的$myquery = new WP_Query ('cat= 11, 9');
或任何其他wp_query
但是在选择放置位置的同时,请将Template Hierarchy视为一组规则文件正确使用的规则。
如果您需要使用wp_list_categories
后列出的categoires列表<?php
$args = array(
'show_option_all' => '',
'orderby' => 'name',
'order' => 'ASC',
'style' => 'list'
);
wp_list_categories($args);
?>
ful ref。在wp codex
答案 1 :(得分:0)
这是一种方法。
在短代码函数内部,或者在ajax风格的函数中,放一个这样的代码:
global $wp_query;
$cat = $_GET['categoria'];
$wp_query->init();
$wp_query->query(array(
'posts_per_page' => 4,
'category_name' => $cat
));
get_template_part( 'blog', 'columns' );
wp_reset_query();
die();
get_template_part
参数是主题相关的,可以从主题根目录中的php模板名称中删除。
在这种情况下,wp将调用[theme's_dir]/blog-columns.php
..
我推荐lecture @Michal推荐我