web-dev-qa-db-ja.com

分類用語名でスペースを使って投稿を取得する

カスタム分類用語に関連するすべての投稿を取得しようとしています。私のカスタム分類法は "Stores"です。私は以下のコードを使っています。

$posts = get_posts(array(
                  'post_type' => 'coupon',
                  'numberposts' => -1,
                  'post_status' => array('publish', 'unreliable', 'draft'),
                  'tax_query' => array(
                    array(
                      'taxonomy' => 'stores',
                      'field' => 'name',
                      'terms' => 'New Store', 
                      'include_children' => false
                    )
                  )
                ));

私の分類学用語の名前は "New Store"です。タイトルにスペースがあるというだけで、関連する投稿を取得できませんでした。私はタイトルのスペースなしで分類学用語の同じコードを試みました、そして、それはうまくいきました。

任意の助けをいただければ幸いです。ありがとう。

1
Sid

マインドは、私はちょうど名前から分類学用語IDを抽出し、それからカスタム投稿を抜粋した。誰かが見ているならば、これはコードです:

$term = get_term_by('name', 'New Store', 'stores');

            $posts = get_posts(array(
              'post_type' => 'coupon',
              'numberposts' => -1,
              'post_status' => array('publish', 'unreliable'),
              'tax_query' => array(
                array(
                  'taxonomy' => 'stores',
                  'field' => 'id',
                  'terms' => $term->term_id, 
                  'include_children' => false
                )
              )
            ));
1
Sid

あなたは名前の代わりにslugで投稿を受け取ることができます。このような:

$posts = get_posts(array(
    'post_type' => 'coupon',
    'numberposts' => -1,
    'post_status' => array('publish', 'unreliable', 'draft'),
    'tax_query' => array(
        array(
            'taxonomy' => 'stores',
            'field'    => 'slug',
            'terms'    => array( 'new-store' ),
            'include_children' => false
        )
    )
));

またはあなたはタームIDで投稿を取得することができます。このような:

$posts = get_posts(array(
    'post_type' => 'coupon',
    'numberposts' => -1,
    'post_status' => array('publish', 'unreliable', 'draft'),
    'tax_query' => array(
        array(
            'taxonomy' => 'stores',
            'field' => 'term_id',
            'terms' => array( 4 ),
            'include_children' => false
        )
    )
));

ここでは、idという用語を知る方法についてのガイドを見つけることができます。 https://facetwp.com/how-to-find-a-wordpress-terms-id/

1
Wilco