Digamos que você queira usar o recurso de miniaturas de postagem do WordPress, mas tem um arquivo inteiro de postagens que demoraria muito para ler. Para novas postagens, você pode ser específico e usar o recurso conforme pretendido. Para postagens antigas, você só quer usar a primeira imagem que encontrar no conteúdo para a miniatura, ou uma imagem padrão, se nenhuma estiver presente.
Adicione isto a functions.php ou crie um plugin de funcionalidade:
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; )
Para usá-lo, use este código no loop:
if ( get_the_post_thumbnail($post_id) != '' ) ( echo ''; the_post_thumbnail(); echo ''; ) else ( echo ''; echo ''; echo ''; )
Descobri que has_post_thumbnail não era tão confiável quanto a lógica acima.