Disons que vous vouliez utiliser la fonction de vignette de publication de WordPress, mais que vous disposiez d'une archive complète de publications qui prendraient trop de temps à parcourir. Pour les nouveaux articles, vous pouvez être précis et utiliser la fonctionnalité comme prévu. Pour les anciens articles, vous souhaitez simplement utiliser la première image trouvée dans le contenu de la vignette, ou une valeur par défaut si aucune n'est présente.
Ajoutez ceci à functions.php ou créez un plugin de fonctionnalité:
function catch_that_image() ( global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('//i', $post->post_content, $matches); $first_img = $matches(1)(0); if(empty($first_img)) ( $first_img = "/path/to/default.png.webp"; ) return $first_img; )
Pour l'utiliser, utilisez ce code dans la boucle:
if ( get_the_post_thumbnail($post_id) != '' ) ( echo ''; the_post_thumbnail(); echo ''; ) else ( echo ''; echo '
'; echo ''; )
J'ai trouvé que has_post_thumbnail n'était pas aussi fiable que la logique ci-dessus.