カテゴリ名で投稿を注文する方法はありますか?
私は試した
$args = array(
'post_type' => 'dlm_download',
'posts_per_page' => 10,
'paged' => $paged,
'order_by'=> 'cat',
'order' => 'ASC'
);
しかし、それは実際にはうまくいきません、誰かが私にヒントを与えてもらえますか?
私はあなたと同じような闘いをしました、私が座って全体のことを再考してくれてありがとう、あなたが実際に必要なのはすべてのカテゴリーを選択し、それにカテゴリーIDを渡すことです。
あなたはdlm_downloadを使うので、あなたは以下をする必要があるでしょう、dlm_download_categoryから用語を得てください
$cats = get_terms('dlm_download_category');
カテゴリをループしてquery_posts
を渡す
そう
foreach ($cats as $cat)
{
$args = array(
'post_type' => 'dlm_download',
'dlm_download_category' => $cat->slug,
);
query_posts($args);
if (have_posts()) :
while (have_posts()) : the_post();
// your stuff here
endwhile;
endif;
}
そしてそこに行く
PS:あなたがcustom post
ではなくposts
でそれを作りたいのなら
$cats = get_categories();
より
引数に'cat'
を渡します。
その明確さと願っています。乾杯
ここでの問題は、単一の投稿に複数のカテゴリを割り当てることができるということです。その場合、どのカテゴリからの注文が基づいていますか。
回避策の1つは、メタ値にカテゴリ名を格納するスクリプトを作成し、正しい順序を作成するためにorderby=meta_value
を使用することです。