我正在尝试获取不是博客的最新帖子。我知道如何按类别名称获取帖子,但如何获得不等于特定类别名称的帖子。这是我用于获取类别名称的代码
$query = array (
'category_name' => 'Blog',
'posts_per_page' => 1,
'post_status' => array('publish')
);
答案 0 :(得分:0)
如法典(http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters)所述,您可以使用'category__not_in'并将其输入您要排除的类别的ID。
$args = array(
'category__not_in' => array($id), // Pass in one or more IDs here.
'posts_per_page' => 1,
'post_status' => 'publish', // no need to pass it in a array
'orderby' => 'date' // Since you wanted the latest post, this is default value so not really needed
);
您可以通过在WP-backend中悬停类别链接找到该类别的ID,然后转到该类别,然后检查地址栏中的地址,它应如下所示:
/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=2
答案 1 :(得分:0)
有category_not_in
个查询参数。要使用它,您需要要从结果中排除的类别的ID,而不是slug。
http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters
$BlogObj = get_category_by_slug('Blog');
$query = array (
'category_not_in' => array($BlogObj->term_id),
'posts_per_page' => 1,
'post_status' => array('publish')
);
答案 2 :(得分:0)
你可以试试这个:
$query = array (
'category_not_in' => array(get_cat_ID('Blog'),
'posts_per_page' => 1,
'post_status' => 'publish'
);