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ů 😉