Pierwszy obrazek jako thumbnail

wordpress

Często zdarza się tak iż przy tworzeniu własnych templatek pod wordpress-a potrzebujemy użyć domyślnego thumbnai-a. Dobrym pomysłem jest wykorzystanie pierwszego obrazka z wpisu o ile post nie posiada już takowego thumbnail-a przypisanego. Zrobić to można na 2 sposoby:
– Wykorzystać wtyczkę Auto Post Thumbnail,
– Wprowadzić zmiany w kodzie szablonu,

Poniżej udostępniam prosty kod, który załatwi wam opcję nr (2):

// twojstyl/function.php
function get_first_image() {
    global $post, $posts;
    $first_img = '';
    ob_start();
    ob_end_clean();
    $output = preg_match_all( '/<img .+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches );
    $first_img = $matches[1][0];
    if ( empty( $first_img ) ) {
        // defines a fallback imaage
        $first_img = get_template_directory_uri() . "/images/default.jpg";
    }
    $first_img = '<img src="' . $first_img . '" alt="Post Image" />';
    return $first_img;
}

oraz

// twojstyl/miejscewyswietlania.php
<?php 	if ( has_post_thumbnail() ) { ?>
		
<a href="<?php the_permalink();?>" >
<?php the_post_thumbnail('couture-thumbnail'); ?>
</a>
		
<?php } else { ?>
<?php echo get_first_image(); ?>
<?php } ?>

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *