私は1つのプロジェクトを開発しています、そしてこのプロジェクトで私は特定のカテゴリ名に関連したすべての投稿を表示しなければなりません。
私はたくさん検索しましたが、これを実装するためのアイデアがありませんでした。
特定のカテゴリ/用語からすべての投稿を表示できるようにするにはどうすればよいですか。
カスタムクエリを生成するにはWP_Query()
を使います、 カテゴリパラメータを使って 。
$catid
のように、特定のカテゴリのIDを知っている(またはgetする方法を知っている)と仮定します。
<?php
$category_query_args = array(
'cat' => $catid
);
$category_query = new WP_Query( $category_query_args );
?>
注:cat
ではなくcategory_name
を介して、カテゴリ slug をクエリに渡すこともできます。
それでは、ループを出力してください。
<?php
if ( $category_query->have_posts() ) : while $category_query->have_posts() : $category_query->the_post();
// Loop output goes here
endwhile; endif;
?>
それはいつ、どの程度正確にそれを使用したいかに依存します - しかし一般的に言えばカスタムクエリを使用するか、単に使用することができます。
if in_category('my_cat_name_or_ID') {
//do whatever
}
カスタムクエリについて知りたい場合は http://codex.wordpress.org/Custom_Queries
そのためにはプラグイン( WordPress Category Posts )を使うことができます。
WordPress Category Postsは、特定のカテゴリの投稿のリンクリストを作成するWordPress用のプラグインです。
カテゴリの投稿を一覧表示したい場合は、次のコードを使用してください。
wp_cat_posts(get_cat_ID('your_category_name'));
どうもありがとう。
以下のコードは特定のカテゴリ名から投稿のタイトルを取得します。
<?php
$myposts = get_posts(array(
'showposts' => 8, //add -1 if you want to show all posts
'post_type' => 'your-post-type',
'tax_query' => array(
array(
'taxonomy' => 'your-taxonomy',
'field' => 'slug',
'terms' => 'term-name' //pass your term name here
)
))
);
foreach ($myposts as $mypost) {
// echo $mypost->post_title . '<br/>';
// echo $mypost->post_content . '<br/>';
// echo $mypost->ID . '<br/><br/>';
echo '<li class="faq"> <p class="title"><a href="' . get_permalink($mypost) . '">' . $mypost->post_title . '</a></p></li>';} ?>
WP_Query
の tax_query
は、これを実装するための最も柔軟な方法になるでしょう。あなたが質問をもう少し具体的にするならば、私はあなたがあなたを軌道に乗せるためにあなたのためにいくつかのサンプルコードをクランクアウトすることができるはずです。