ループを使用して画像を特集している投稿のみを表示するのは難しいです。私のPHPレベルは基本的なもので、どんな助けでも本当に役に立ちます。
だから基本的にこれは私の元のコードです:
if( have_posts() ) {
while( have_posts() ) {
the_post();
get_template_part( 'inc/template-parts/content', $post_layout );
// and some other stuff
}
}
このスレッドからアドバイスを受けました - 投稿のWP_Query
にサムネイルがあるかどうかを確認するにはどうすればよいですか。 しかし、何の成功もありません。コードを実装すると、すべての投稿がフロントページから消えます。
これは私が試したコードです:
$query = new WP_Query( $thumbs );
$thumbs = array(
'meta_query' => array( 'key' => '_thumbnail_id' )
);
if( $query->have_posts() ) {
while( $query->have_posts() ) {
$query->the_post();
get_template_part( 'inc/template-parts/content', $post_layout );
}
}
任意のアドバイスは大歓迎です!よろしく
あなたはあなたの引数を定義する必要があります 前 /あなたは後ではなくWP_Query
に渡します。また、あなたのmeta_query
は単なる配列ではなく、配列の配列であるべきです。
この
$query = new WP_Query($thumbs);
$thumbs = array(
'meta_query' => array('key' => '_thumbnail_id')
);
こんな感じ
$thumbs = array(
'meta_query' => array(
array(
'key' => '_thumbnail_id'
)
)
);
$query = new WP_Query($thumbs);
ちょっとしたメモ
カスタムクエリの後にpostdataをリセットするようにしてください。 if
ステートメントを閉じる前、およびwhile
ステートメントを閉じた直後にwp_reset_postdata();
を追加するだけです。
ここではカスタムクエリは必要ないかもしれないと思います。私があなたの質問を正しく読んだならば、あなたはメインクエリを変更するために単にpre_get_posts
を使うことができます。メインクエリを変更したいという理由だけで、カスタムクエリを使用しないでください。