Shortcodes vo WordPresse: Ako fungujú a ako si vytvoriť vlastné
Ako fungujú shortcody vo WordPresse a ako si vytvoriť vlastné – praktické príklady a bezpečnosť.
Shortcode je jednoduchý spôsob, ako do WordPress obsahu vložiť dynamický prvok – bez toho, aby si písal HTML alebo PHP. V tomto článku si ukážeme, čo shortcody sú, ako ich používať a ako si vytvoriť vlastné – jednoduché aj pokročilejšie.
💡 Čo je to shortcode?
Shortcode vyzerá ako [nazov]
a môže mať aj parametre: [galeria id="123"]
.
Po zobrazení stránky sa shortcode nahradí výstupom funkcie, ktorú definuješ v kóde (napr. HTML, tabuľka, formulár, výpis dát atď.).
🧪 Základný príklad: Vlastný pozdrav
📄 Kód do functions.php
:
function moj_pozdrav_shortcode() {
return '<p>Ahoj! Vitaj na mojej stránke.</p>';
}
add_shortcode('pozdrav', 'moj_pozdrav_shortcode');
📌 Použitie v obsahu:
[pozdrav]
👉 Výstup: Ahoj! Vitaj na mojej stránke.
🧩 Shortcode s parametrami
📄 Funkcia s atribútmi:
function citat_shortcode($atts) {
$a = shortcode_atts([
'autor' => 'Neznámy',
'text' => 'Citát chýba.'
], $atts);
return '<blockquote>' . esc_html($a['text']) . '<br><cite>' . esc_html($a['autor']) . '</cite></blockquote>';
}
add_shortcode('citat', 'citat_shortcode');
📌 Použitie:
[citat autor="Einstein" text="Predstavivosť je dôležitejšia ako vedomosti."]
🔁 Shortcode s obsahom medzi tagmi
Niekedy chceš spracovať aj text medzi [tag]...[/tag]
. Príklad s vlastným zvýrazňovačom:
function highlight_shortcode($atts, $content = null) {
return '<span style="background:yellow;">' . do_shortcode($content) . '</span>';
}
add_shortcode('highlight', 'highlight_shortcode');
[highlight]Dôležitý text[/highlight]
📃 Shortcode s dynamickými dátami (napr. výpis článkov)
function vypis_blog_shortcode($atts) {
$query = new WP_Query([
'posts_per_page' => 3
]);
$output = '<ul>';
while($query->have_posts()) : $query->the_post();
$output .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
endwhile;
wp_reset_postdata();
$output .= '</ul>';
return $output;
}
add_shortcode('blog_novinky', 'vypis_blog_shortcode');
Použiješ jednoducho ako:
[blog_novinky]
👉 Zobrazí posledné 3 príspevky ako zoznam odkazov.
📦 Shortcode v šablóne PHP (nie len v editore)
Shortcode môžeš použiť aj priamo v PHP šablónach:
<?php echo do_shortcode('[pozdrav]'); ?>
To sa hodí, ak chceš shortcode použiť napr. v sidebare, pätičke, alebo vlastnej sekcii mimo obsahu.
🔐 Bezpečnostné tipy
- Pri výstupe používaj
esc_html()
,esc_attr()
, aby si ochránil výstup pred XSS útokmi. - Shortcody píš tak, aby nemohli spustiť ľubovoľný kód od používateľa.
- Do shortcodov nikdy nevkladaj neoverené údaje priamo do databázy bez validácie.
🧠 Záver
Shortcody sú výborný nástroj, ak chceš pridať dynamiku do obsahu – od jednoduchých textov po výpisy z databázy. V ďalšom článku si ukážeme, ako vytvoriť „shortcode builder“ vo forme Gutenberg bloku alebo ako prepojiť shortcody s vlastným typom obsahu.