Trochu nesouvisle jsem se rozhodl přidat ještě pár drobností k návodu, který jsem před nějakým časem publikoval, a to je řešení vkládání dodatečných funkcí při vytváření šablony. Myslím tím například postranní panely, náhledové obrázky, volitelná barva (či obrázek) na pozadí a další vychytávky, které WordPress (dále WP) nabízí.
Od posledních příspěvků tohoto tématu, tedy tvorby šablony pro WP uplynulo poměrně dost času, který se v technice a vývoji promíta dvakrát rychleji. I u WP se vývoj nezastavuje, a přidává se stále více možností, jak šablonu zpříjemnit jak uživatelům webu, tak jeho autorům.
Předchozí části:
- Jak na vlastní šablonu – Hlavička
- Jak na vlastní šablonu – Obsah
- Jak na vlastní šablonu – Archiv
- Jak na vlastní šablonu – WP_Query
Nebudu se snažit vysvětlovat všechny z možností, na to bych asi potřeboval hodně velkou diskovou kapacitu pro databázi, kterou naneštěstí na freehostingu nemám, ale podám stručný přehled toho, co bych „vypíchnul.“
Co s šablonami můžu dělat (níže některé postupy):
- Volitelné pozadí stránky (resp. těla stránky)
- Volitelný obrázek v hlavičce
- Náhledové obrázky
- Postranní widgety (panely s informacemi)
- další… Co si naprogramujete, budete mít 😉
Volitelné pozadí
je velmi levný trik, jak umožnit uživateli zvolit si barvu nebo obrázek (popř. opakovaný vzorek), který bude použit na pozadí prvku <body>. Jde pouze o to, říct WP o tom, že tuto funkci šablona podporuje pomocí, add_theme_support():
add_theme_support('custom-background');
Poté už nemusíte dělat nic, o styl se automaticky postará funkce wp_head() společně se správným použitím funkce body_class():
<body <?php body_class(); ?>>
Volitelný obrázek v záhlaví
Další oblíbenou funkcí jsou obrázky v záhlaví, neboli Top bannery (doslovně horní pruh). Ten se aktivuje podobným způsobem, ale poté se musí ještě na vhodné místo přidat kód pro jeho zobrazení. Potom už fungování nic nebrání.
//můžeme přidat i parametry, podle kterých se náhledy upraví add_theme_support('custom-header',array( 'default-image' => '', 'width' => 0, 'height' => 0, 'flex-height' => false, 'flex-width' => false, 'uploads' => true, 'random-default' => false, 'header-text' => true, 'default-text-color' => '', 'wp-head-callback' => '', 'admin-head-callback' => '', 'admin-preview-callback' => '', )); //na volitelné místo na stránce potom toto: <img src="<?php header_image(); ?>" height="<?php echo get_custom_header()->height; ?>" width="<?php echo get_custom_header()->width; ?>" alt="" />
Náhledové obrázky
Nejvíce využívanou možností jsou náhledové obrázky. Ty jsou přidávány ke každému článku, a měly by reprezentovat jeho obsah, Je to dobrý tah, kterým články můžete zviditelnit a zpříjemnit procházení webu. Aktivovat je v šabloně je opět možné pomocí add_theme_support()
add_theme_support( 'post-thumbnails' ); // a na zvolené místo (ve smyčce) můžete vložit obrázek: if ( has_post_thumbnail() ) { the_post_thumbnail(); }
Postranní widgety
Dnes už jde o zcela nezbytnou funkci, protože do widgetů se vkládají funkce jako menu, odkazy pro přihlášení, reklamy a různé další informace, které nesouvisí s textem webu, ale jsou klíčové pro funkci webu. Jednotlivé plochy, které lze v administraci osadit jednotlivými informacemi se nejprve musí zaregistrovat v souboru functions.php a poté pomocí funkce zobrazit:
add_action( 'widgets_init', 'theme_slug_widgets_init' ); function theme_slug_widgets_init() { register_sidebar( array( //název, který se zobrazí v administraci - zde i s možností překladu 'name' => __( 'Main Sidebar', 'theme-slug' ), //id podle kterého se poté plocha volá z WordPressu 'id' => 'sidebar-1', //popis zobrazený uživateli v administraci 'description' => __( 'Widgets in this area will be shown on all posts and pages.', 'theme-slug' ), //možnost nastavení obalení výsledné plochy 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>', ) ); } //pro zobrazení použijte např toto: <?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?> <ul id="sidebar"> <?php dynamic_sidebar( 'sidebar-1' ); ?> </ul> <?php endif; ?>
WordPress nabízí skrze své funkce, akce a filtry skvělé rozhrání, nápomocné při jakýchkoliv úpravách. Pokud chcete do děje zapojit uživatele, máte nejlepší možnost, ukládání uživatelských nastavení pomocí add_option, update_option a get_option. Můžete přidávat sekce, do kterých mohou přispívat návštěvníci webu, pomocí možností přesměrovávání, lze také měnit vzhled webu rozličnými podmínkami a používáním šablonových souborů. Můžete obsáhnout typy příspěvků jako video, poznámka či odkaz a udělat pro ně to nejlepší stylování na světě.
Vše záleží jen na vlastní fantazii a zručnosti
takže přeji mnoho úspěšných zásahů a spokojených uživatelů 😉