Comment rechercher dans la base de données les articles auxquels une image sélectionnée manque? J'ai regardé autour de moi dans la table wp_posts
et j'ai cherché post_type
est égal à article. Il me donne une liste de tous les articles mais le fichier GUID contient des images et aucun moyen de voir ceux qui sont vides. Est-ce que quelqu'un sait comment je peux y arriver?
Je suppose que vous voulez qu'il sache dans quel article vous devez éditer et ajouter une image sélectionnée.
Vous pouvez créer un fichier dans le dossier racine de worpdress et utiliser simplement WP_Query
pour obtenir toutes les publications et pour vérifier s’il n’ya pas d’image caractéristique, vous pouvez utiliser la fonction has_post_thumbnail()
.
Modifiez le post_type
si nécessaire.
Exemple
<?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;
Si vous souhaitez toujours utiliser le code SQL, vous pouvez créer WP_Query
et utiliser le code SQL généré. Vous pouvez également utiliser ce WP_Query
comme la première méthode et vous n'avez pas besoin de vérifier si has_post_thumbnail()
est faux.
$query = new WP_Query(
array(
'post_type'=>'post',
'meta_query' => array(
array(
'key' => '_thumbnail_id',
'compare' => 'NOT EXISTS'
)
)
)
);
echo ($query->request); // Print the SQL
Donc, le SQL pour cet exemple après que je le modifie est un peu.
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