Saya ingin meminta 6 posting, tetapi hanya mereka yang memiliki gambar fitur terlampir. Saya menggunakan meta_key
metode untuk ini dengan WP_Query
:
$args = array(
'post_type' => 'post',
'meta_key' => '_thumbnail_id',
'post_count' => 6 );
$query = new WP_Query($args);
Diikuti oleh
<?php while($query->have_posts()) : $query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_post_thumbnail('thumbnail'); ?>
<?php endwhile; ?>
Ini sepertinya tidak berhasil. Kueri mengembalikan lebih dari 6 pos dan juga yang tidak memiliki gambar unggulan. Ada ide apa yang salah di sini?
@ chip: var_dump($query);
memberikan hasil yang besar jadi saya telah mempostingnya di pastebin
wp-query
post-thumbnails
harryg
sumber
sumber
var_dump( $query )
?Jawaban:
Saat menjalankan importir, Anda harus mencentang kotak untuk mengunduh dan mengimpor semua media / lampiran.
Jika tidak, kiriman akan tetap memiliki kumpulan gambar unggulan, tetapi lampiran yang dirujuknya tidak valid, dan segala upaya untuk menelepon
the_post_thumbnail
akan gagal. Dengan menggunakan kode Anda, Anda hanya akan mendapatkan judul posting, dan tidak ada thumbnail. Ini akan memberi kesan bahwa posting yang tidak memiliki gambar unggulan sedang ditarik. Ini tidak terjadi, mereka memiliki gambar unggulan, itu hanya tidak tersedia karena kesalahan yang Anda buat saat mengimpor.Hapus posting Anda, dan impor kembali menggunakan pengaturan yang benar.
Juga untuk menunjukkan intinya, Anda tidak berusaha untuk benar-benar memeriksa pos, selalu periksa misalnya:
Jika Anda belum mencentang kotak, Anda akan mendapatkan gambar yang mengatakan mereka memiliki gambar unggulan, tetapi tidak ada gambar yang ditampilkan
sumber
the_post_thumbnail
denganhas_thumbnail
panggilan dan tambahkan case lain sehingga Anda pasti tahu bahwa postingan tersebut tidak memiliki gambar unggulanPada WordPress 3.5, Parameter Meta Query mendukung
EXISTS
danNOT EXISTS
sebagai operator perbandingan. Dalam kasus di mana Anda menggunakan ini, Anda bisa menghilangkanvalue
bagian dari permintaan meta. Coba argumen berikut untuk kueri Anda:sumber
NOT EXISTS
digunakan.