カスタム分類法を使用してカスタム投稿タイプを追加し、すべての投稿をテンプレートでこれに追加したいのですが、結果は0です。
$args=array(
'post_type' => 'contents',
'post_status' => 'publish',
'tax_query' => array(
'taxonomy' => 'content-category',
'field' => 'id',
'terms' => array(5,26,28)
),
'meta_key' => 'fs16'
);
$query = new WP_Query($args);
SQLクエリに従います(理由はわかりません)。
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) JOIN wp_icl_translations t ON wp_posts.ID = t.element_id AND t.element_type = 'post_contents' JOIN wp_icl_languages l ON t.language_code=l.code AND l.active=1 WHERE 1=1 AND 0 = 1 AND wp_posts.post_type = 'contents' AND (wp_posts.post_status = 'publish') AND (wp_postmeta.meta_key = 'fsk16' ) AND t.language_code='en' GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10
ここで何がおかしいのですか?
tax_query
のtaxonomy
、field
、およびterms
は、1つではなく2つの配列レベルの深さでなければなりません。 WP_Queryページ から引用。
重要な注意:tax_queryはtaxクエリ引数の配列を受け取ります(配列の配列を受け取ります) - これは以下の2番目の例で見ることができます。この構成により、最初の(外側の)配列のrelationパラメーターを使用して分類法照会間のブール関係を記述することによって、複数の分類法を照会することができます。
それで、あなたの議論は次のように叫ぶべきです:
$args = array(
'post_type' => 'contents',
'tax_query' => array(
array(
'taxonomy' => 'content-category',
'field' => 'id',
'terms' => array(5,26,28)
)
),
'meta_key' => 'fs16'
);
とにかくデフォルト値なので'post_status' => 'publish'
を省略することができます。