0

カテゴリまたはタグで投稿をクエリする方法はありますか? 同じカテゴリまたは同じタグを共有する 3 つの最新の投稿を取得したいと考えています。以下は私がすでに持っているコードです:

$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); 

ただし、これは同じカテゴリにあり、同じタグを共有する投稿のみを取得します。

4

2 に答える 2

2

カテゴリ用に 1 回、次にタグ用に 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次に、重複がある場合に何らかの種類を使用できます

于 2013-07-09T18:01:08.090 に答える
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を置き換えます。ここに参照があります

于 2014-01-30T11:11:33.190 に答える