有没有办法按类别或标签查询帖子?我想获得属于同一类别的三个最新帖子或共享相同的标签。以下是我已经拥有的代码:
$posttags = get_the_tags();
$tags = '';
if ($posttags) {
foreach($posttags as $tag) {
$tags .= ','.$tag->name;
}
}
$taglist = substr($tags, 1);
$category = get_the_category();
$posts = query_posts('&tag='.$taglist.'&orderby=date&order=DESC&posts_per_page=3&cat='.$category[0]->term_id);
但是这只会获得属于同一类别并且共享相同标签的帖子。
答案 0 :(得分:2)
如何为类别提取两次数据,然后为标记
提取数据$posttags = get_the_tags();
$tags = '';
if ($posttags) {
foreach($posttags as $tag) {
$tags .= ','.$tag->name;
}
}
$taglist = substr($tags, 1);
$category = get_the_category();
$tagposts = query_posts('&tag='.$taglist.'&orderby=date&order=DESC&posts_per_page=3');
$categoryposts= query_posts('&orderby=date&order=DESC&posts_per_page=3&cat='.$category[0]->term_id);
$post=array_merge($tagposts,$categoryposts);
然后,如果有重复项,您可以使用某种array_unique
答案 1 :(得分:0)
如果您知道标记名称,则可以使用下面的查询来获取标记名称与之匹配的所有帖子:
select id, post_title, guid from wp_posts p inner join wp_term_relationships r
on p.id=r.object_id and p.post_status='publish' and p.post_type='post'
inner join wp_term_taxonomy x on r.term_taxonomy_id=x.term_taxonomy_id and
x.taxonomy='post_tag' inner join wp_terms t on x.term_id=t.term_id and t.name
like '%tag_name%' group by r.object_id;
在上面的查询中替换 tag_name 。 这是reference