Powered by Smartsupp
Webařské tipy

Základní náhledový obrázek

Nechcete nastavovat náhledový obrázek pro všechny svoje příspěvky? Nechte jen jen u některých a nastavte si jeden společný všem ostatním.

Asi jsme všichni (hlavně jako vývojáři) potkali situaci, kdy uživatel nepřidal do příspěvku náhledový obrázek, a místo něj se zobrazil nějaký jiný (který pochází z šablony, ale není nijak hezký), nebo se nezobrazil pro jistotu žádný a vizuálně rozbil např. blog nebo sekci s rychlými zprávami a pod.

S pluginem

S pomocí přichází plugin Default featured image, který právě toto řeší.
Stačí ho nainstalovat a v Settings -> Media -> Default featured image.

Další možnosti

Tento plugin toho ovšem nabízí ještě víc, pokud se nebojíte sáhnout do functions.php (doporučuji udělat child theme, abyste kód neztratili po aktualizaci).

Vlastní custom post types

Např. pokud máte vlastní typy příspěvků a chcete nastavit náhledový obrázek pro každý typ zvlášť. V tu chvíli není třeba nastavit default featured image v Médiích, ale necháte jen instalovaný plugin a do functions přidáte kousek PHP kódu, jako je např. tento:

// default feature image for custom posts
add_filter('dfi_thumbnail_id', 'dfi_posttype_book', 10, 2);

function dfi_posttype_book($dfi_id, $post_id) {
    
    $post = get_post($post_id);

    if ('post' === $post->post_type) {
        return 3442; // the image id for the book post type
    }

    if ('atlet' === $post->post_type) {
        return 3834; // the image id for the book post type
    }

    if ('zavod' === $post->post_type) {
        return 3750; // the image id for the book post type
    }

    if ('trener' === $post->post_type) {
        return 4207; // the image id for the book post type
    }

    return $dfi_id; // the original featured image id
}

Případně můžete nastavit náhledový obrázek i podle kategorie příspěvku:

// default feature image for custom posts
add_filter('dfi_thumbnail_id', 'dfi_posttype_book', 10, 2);

function dfi_posttype_book($dfi_id, $post_id) {
    
    $post = get_post($post_id);

    if ('atlet' === $post->post_type) {		
        return 3834; // the image id
    }

    if ('zavod' === $post->post_type) {
        //return 3750; 

    if ('post' === $post->post_type) {
	//set image for concrete category of "post" post type
	if (has_category('vybor-informuje', $post_id)) {	
	    return 5670;
    	}
	//image for other categories of "post" post type
        return 5669;
    }

    // the original featured image id.
    return $dfi_id; 
}

Zdroje

Jitka Klingenbergová

Jitka Klingenbergová

Absolventka ČVUT FIT oboru Informatika | Programátorka | Webová vývojářka, konzultantka a mentorka
tvorime@vyladeny-web.cz

Líbil se vám článek? Pošlete ho dál:

Pravidelná dávka užitečných tipů až do schránky