3

WP_Queryでtax_queryを機能させるために、少し髪を引き裂いてきました。コードは次のとおりです。

$nextSundayTalkArgs = array(  
        'post_type' => 'talk',  
    'posts_per_page' => 1,  
    'tax_query' => array(  
        array(  
            'taxonomy' => 'talk-type',  
            'field' => 'slug',  
            'terms' => 'sunday-talk'  
        )  
    )  
);  
$nextSundayTalkQuery = new WP_Query( $nextSundayTalkArgs );

投稿タイプが「talk」の投稿は間違いなくあります。tax_queryの部分を削除すると、正しい投稿が問題なく表示されます。「サンデートーク」という正しい分類用語を使用した5つのトークがあります(スラッグの代わりにIDを使用しようとしても機能しません)。

奇妙なことに、投稿の種類を「投稿」に、分類法を「カテゴリ」に変更し、「フィールド」と「用語」の部分を省略すると、用語がまったくない唯一の投稿が返されます。

私が狂気になる前に、どんな助けでも大いに感謝します。

4

2 に答える 2

5

最終的にWordpressStackexchangeの助けを借りて答えを見つけました。まだ100%間違っていることはわかりませんが、関数のレイアウトとで使用していたポストループの両方に問題があるようindex.phpです。

この質問に出くわし、興味を持っている人のために:

https://wordpress.stackexchange.com/questions/84607/custom-taxonomy-and-tax-query

于 2013-02-19T09:46:40.987 に答える
1

あなたの答えはわかりませんが、最初に、コードが生成するデータベースクエリを試してみます。

https://wordpress.stackexchange.com/questions/4809/how-to-display-sql-query-that-ran-in-query

これは、クエリをデバッグするさまざまな方法へのリンクです。それが何をするかを見ると、phpmyadminなどで実行できるので非常に役立ちます。

于 2013-02-05T14:27:17.050 に答える