0

ワードプレスで the_loop が始まる直前にクエリ結果をフィルタリングしたい。term_id または term_taxonomy_id が 1 に等しい結果のみが必要です。

query_posts('post_type=my_post&term_id=1&posts_per_page=6');

これはすべての行を返しています。私はワードプレスを初めて使用するので、query_posts で term_id を使用できるかどうかわかりません。それを行う他の方法はありますか?

4

2 に答える 2

0

実際、投稿タイプは分類法ではなく、投稿タイプは基本的postpageAttachmentRevisionNavigation Menuおよび でCustom Post Typesあり、使用するカスタム投稿タイプを作成するため、カスタム投稿タイプをregister_post_type()作成しませんでした (コメントから取得しました)。代わりに、register_taxonomy()関数を使用してカスタム分類法を作成しました。この場合、最初のパラメーターregister_taxonomy()は分類法の名前で、2 番目のパラメーターは分類法のオブジェクト タイプの名前であり、オブジェクト タイプは組み込みにすることができます。投稿タイプまたはすでに登録されているカスタム投稿タイプ。したがって、以下の例によると

register_taxonomy( 
    'mumG', 
    'mumT', 
    array( 
        'label' => __( 'Label' ),
        'show_ui' => false,
    ) 
);

上記のコードでは、カスタム分類を作成しました。その名前はmumGで、2 番目のパラメーターは分類のオブジェクト タイプとして使用されます。登録/作成しない限りmumT、そのようなオブジェクト (post_type) は存在しないようです。 register_post_type()関数WordPressを使用した 1 つのカスタム投稿タイプ。したがって、このタクソノミーのカスタム投稿タイプを作成したくない場合は、 as 投稿タイプの代わりに組み込みの投稿タイプを使用する必要があり、次を使用して取得できますpostmumTquery

$args = array( 
        'post_type' => 'post', // if post_type is post
        'showposts' => -1,
        'tax_query' => array(
        array(
            'taxonomy' => 'mumG',
            'terms' => 1,
            'field' => 'term_id',
        )
    ),
    'orderby' => 'title',
    'order' => 'ASC' 
);
query_posts( $args );

それ以外の場合、カスタム投稿タイプを使用する場合は、最初にカスタム投稿タイプを作成してから、post(2 番目のパラメーター)の代わりにカスタム投稿の名前を使用する必要があります。

register_taxonomy( 
    'mumG', 
    'yourCustomPostName', // if you have a post_type of 'yourCustomPostName'
    ......
);

クエリで使用'post_type' => 'yourCustomPostName'します。理解を深めるために、Codex のregister_taxonomy()register_post_type()query_posts()のドキュメントをお読みください。

于 2013-05-19T21:26:02.063 に答える
0

分類カテゴリ名 (sliders_category) を分類カテゴリ名に置き換えます。

$args = array(
                'tax_query' => array(
                                    array(
                                            'taxonomy' => 'sliders_category',
                                            'field' => 'id',
                                            'terms' => '1'
                                          )

                            ),
                'post_type'=>'my_post',
                'order'=>'ASC',
                'posts_per_page'=>6

                );

query_posts($args);
于 2013-05-20T04:54:58.427 に答える