Gaukite pirmąjį įrašo vaizdą CSS-gudrybės

Anonim

Tarkime, kad norėjote naudoti „WordPress“ įrašo miniatiūrų funkciją, tačiau turėjote visą įrašų archyvą, kuriam pereiti prireiks per daug laiko. Naujiems įrašams galite būti konkretūs ir naudoti šią funkciją pagal paskirtį. Seniems įrašams tiesiog norite naudoti pirmąjį vaizdą, kurį jis randa miniatiūros turinyje, arba numatytąjį, jei jo nėra.

Pridėkite tai prie functions.php arba sukurkite funkcinį papildinį:

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; )

Norėdami jį naudoti, naudokite šį kodą cikle:

if ( get_the_post_thumbnail($post_id) != '' ) ( echo ''; the_post_thumbnail(); echo ''; ) else ( echo ''; echo ''; echo ''; )

Radau, kad has_post_thumbnail nebuvo tokia patikima, kaip aukščiau pateikta logika.