web-dev-qa-db-ja.com

特定のカテゴリ名に関連するすべての投稿を取得する方法

私は1つのプロジェクトを開発しています、そしてこのプロジェクトで私は特定のカテゴリ名に関連したすべての投稿を表示しなければなりません。

私はたくさん検索しましたが、これを実装するためのアイデアがありませんでした。

特定のカテゴリ/用語からすべての投稿を表示できるようにするにはどうすればよいですか。

5
Arpi Patel

カスタムクエリを生成するには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;
?>
11
Chip Bennett

それはいつ、どの程度正確にそれを使用したいかに依存します - しかし一般的に言えばカスタムクエリを使用するか、単に使用することができます。

if in_category('my_cat_name_or_ID') {
//do whatever
}

カスタムクエリについて知りたい場合は http://codex.wordpress.org/Custom_Queries

2
user13279

そのためにはプラグイン( WordPress Category Posts )を使うことができます。

WordPress Category Postsは、特定のカテゴリの投稿のリンクリストを作成するWordPress用のプラグインです。

カテゴリの投稿を一覧表示したい場合は、次のコードを使用してください。

wp_cat_posts(get_cat_ID('your_category_name'));

どうもありがとう。

0
Mahmudur

以下のコードは特定のカテゴリ名から投稿のタイトルを取得します。

 <?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>';} ?>
0
Varsha Dhadge

WP_Querytax_query は、これを実装するための最も柔軟な方法になるでしょう。あなたが質問をもう少し具体的にするならば、私はあなたがあなたを軌道に乗せるためにあなたのためにいくつかのサンプルコードをクランクアウトすることができるはずです。

0
mor7ifer