WordPress的 - 在类别归档中使用wp_query - 如何显示适当的类别?
问题描述:
我在类别存档中使用wp_query,以便我可以使用meta_query忽略具有某些元值的帖子。WordPress的 - 在类别归档中使用wp_query - 如何显示适当的类别?
问题是,因为我使用wp_query,它似乎忽略了当前正在查看的类别并显示所有类别。
有没有办法检索用户正在查看的类别(可能由url定义)并将其插入到wp_query参数数组中?
我见过this suggested solution on stack overflow,但必须有一个更简单的方法来做到这一点,因为当没有使用默认循环时,wordpress会自动显示正确的类别。
当前代码:
$query = array(
'meta_query' => array(
array(
'key' => 'Display',
'value' => 'Yes',
)
),
'paged'=> $paged
);
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$pageposts = new WP_Query($query);
if ($pageposts):
while ($pageposts->have_posts()) : $pageposts->the_post();
答
好了,这是我可以拿出我自己的最佳解决方案(使用single_cat_title设置变量):
$currentCategory = single_cat_title("", false);
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query = array(
'category_name' => $currentCategory,
'paged'=> $paged,
'posts_per_page' => '15'
);
$pageposts = new WP_Query($query);
答
我意识到这是老,但我有同样的问题。我使用了类似于您为我的类别归档创建的方法,但我也需要使用WP Query来搜索search.php,这使我找到了一个解决方案。 WordPress的抄本有办法保存搜索原始查询,它似乎为一个类别归档工作,以及:
<?php
global $query_string;
$query_args = explode("&", $query_string);
$search_query = array();
foreach($query_args as $key => $string) {
$query_split = explode("=", $string);
$search_query[$query_split[0]] = urldecode($query_split[1]);
} // foreach
$search = new WP_Query($search_query);
?>
http://codex.wordpress.org/Creating_a_Search_Page#Preserving_Search_Page_Results_and_Pagination
应该能够只需添加你所需要的参数,并很好去。