どの記事に注目の画像が掲載されていないかをデータベースで検索するにはどうすればよいですか。私はwp_posts
テーブルを見回し、post_type
はarticleと等しいと検索しました。それは私にすべての記事のリストを与えるが、提出されたguidは画像を持っていて、どれが空であるかを見る方法がない。誰もが私がこれを達成することができる方法を知っていますか?
どの記事で注目の画像を編集して追加する必要があるかを知ってほしいと思います。
Worpdressルートフォルダにファイルを作成し、WP_Query
を使用してすべての投稿を取得し、has_post_thumbnail()
を使用できる機能イメージがないかどうかを確認することができます。
必要に応じてpost_type
を変更してください。
例
<?php
require_once('./wp-load.php');
$query = new WP_Query(array('post_type'=>'post'));
if ( $query->have_posts() ) while ( $query->have_posts() ) : $query->the_post();
if(has_post_thumbnail() === false) {
?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br>
<?php
}
endwhile;
それでもSQLを使いたい場合はWP_Query
を作成して生成されたSQLを使用することができます。最初のメソッドと同じようにこのWP_Query
を使用することもできます。また、has_post_thumbnail()
がfalseであるかどうかを確認する必要はありません。
$query = new WP_Query(
array(
'post_type'=>'post',
'meta_query' => array(
array(
'key' => '_thumbnail_id',
'compare' => 'NOT EXISTS'
)
)
)
);
echo ($query->request); // Print the SQL
だから私はそれを変更した後、この例のためのSQLは少しです。
SELECT * FROM wp_posts LEFT JOIN wp_postmeta ON
(wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_thumbnail_id' )
WHERE 1=1 AND (wp_postmeta.post_id IS NULL) AND wp_posts.post_type = 'post'
AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private')
GROUP BY wp_posts.ID ORDER BY wp_posts.post_date