Shortcode umožňuje vkládat dynamický obsah do stránek a příspěvků.
Kodér může shortcode vytvořit jednou a uživatel webu si ho může vkládat do webu.
Shortcody umožňují přidat na tvůj WordPress mnoho užitečných funkcí, aniž bys, jako uživatel, řešil PHP. Vytvořením vlastních shortcodů můžeš zjednodušit správu obsahu a přidat vlastní funkce pro web.
A co se dá do shortcodes dát? Prakticky cokoliv: od vypsání jednoho slova po načtení rezervačního formuláře.

Datum poslední změny: 4. 3. 2026
Poznámka: Pokročilejší uživatel si shortcode může tvořit sám. Článek můžeš číst jako přehled toho, co je možné. Nebo se do tématu ponoř víc a vytvoř si svůj první shortcode. Na konci článku ukazuju jak na vytvoření vlastního pluginu, kde shortcode zaregistruješ.
Nejprve si ukážeme, jak vytvořit jednoduchou PHP funkci, která sečte dvě čísla.
function my_simple_addition($a, $b) {
$sum = $a + $b;
echo "Součet čísel $a a $b je: $sum";
return $sum;
}
Tato funkce přijímá dva parametry ($a a $b), sečte je, výsledek vypíše a zároveň vrátí hodnotu součtu.
Pokud bychom chtěli funkci použít v PHP šabloně/vlastním pluginu/PHP snippetu, volali bychom ji takto:
<?php my_simple_addition(5, 3); ?>
Výsledkem na webu v místě vložení kódu je: "Součet čísel 5 a 3 je: 8".
PHP funkci však běžný uživatel volat nebude. Pojďme to vyřešit.
Přetvoříme funkci na shortcode, který bude možné použít přímo v obsahu stránek nebo příspěvků. Bez znalosti PHP. Začneme s jednoduchým shortcodem bez argumentů.
// Jednoduchá funkce pro demonstraci shortcodu bez argumentů
function simple_addition_shortcode() {
// Pro jednoduchost budeme sčítat dvě pevně dané hodnoty
$a = 5;
$b = 3;
$sum = $a + $b;
return "Součet čísel $a a $b je: $sum";
}
// Registrace shortcodu
add_shortcode('secti_zaklad', 'simple_addition_shortcode');
Vlastní shortcode použijeme kdekoliv na webu použitím WP bloku shortcode (zkrácený kód v CZ):
[secti_zaklad]
WordPress jej nahradí textem: "Součet čísel 5 a 3 je: 8"
Poznámka: Všimni si, že u shortcodu používám return místo echo. Je to proto, že shortcody musí vracet obsah, který má být vložen do stránky.
Nyní vylepšíme náš shortcode tak, aby mohl přijímat vstupní argumetny, jako tomu bylo u původní funkce.
// Funkce pro sčítání dvou čísel
function my_simple_addition($a, $b) {
$sum = $a + $b;
return "Součet čísel $a a $b je: $sum";
}
// Funkce pro shortcode s argumenty
function addition_shortcode($atts) {
// Definování výchozích hodnot pro atributy
$atts = shortcode_atts(array(
'a' => 0,
'b' => 0,
), $atts, 'secti');
// Převod hodnot na čísla pro správné sčítání
$a = floatval($atts['a']);
$b = floatval($atts['b']);
// Vrácení výsledku funkce
return my_simple_addition($a, $b);
}
// Registrace shortcodu
add_shortcode('secti', 'addition_shortcode');
Nyní můžeš ve svých stránkách nebo příspěvcích použít shortcode s vlastními hodnotami. Funkci jsem současně přejmenoval na "secti":
[secti a="10" b="20"]
Tento shortcode vypíše: "Součet čísel 10 a 20 je: 30"
Funkce shortcode_atts() je klíčová pro práci s argumenty shortcodu. Má tři parametry:
$atts = shortcode_atts(array(
'a' => 0, // Výchozí hodnota pro argument 'a' je 0
'b' => 0, // Výchozí hodnota pro argument 'b' je 0
), $atts, 'secti');
Tato funkce slouží k tomu, aby nastavila výchozí hodnoty pro argumenty, které uživatel nezadal
Shortcode můžeš umístit:
<?php
/**
* Plugin Name: Moje Vlastni Shortcody
* Description: Plugin obsahující užitečné shortcody pro web
* Version: 1.0
* Author: Vase Jmeno
*/
// Shortcode pro sčítání
function my_simple_addition($a, $b) {
$sum = $a + $b;
return "Soucet cisel $a a $b je: $sum";
}
function addition_shortcode($atts) {
$atts = shortcode_atts(array(
'a' => 0,
'b' => 0,
), $atts, 'secti');
$a = floatval($atts['a']);
$b = floatval($atts['b']);
return my_simple_addition($a, $b);
}
add_shortcode('secti', 'addition_shortcode');
// Zde můžete přidat další shortcody
Shortcody se musí jmenovat jedinečně, jinak hrozí konflikty s jinými pluginy. Zvaž přidání prefixu specifického pro tvůj web nebo plugin:
add_shortcode('mujweb_secti', 'addition_shortcode');
Pokud potřebuješ použít shortcode v PHP kódu (například v šabloně), použij funkci do_shortcode():
<?php echo do_shortcode('[secti a="10" b="20"]'); ?>
Potřebuješ shortcode a nechce se ti psát? Napiš mi a nějak to vymyslíme. 😉
Měsíční newsletter pro majitele webů, kteří chtějí, aby jejich WordPress spolehlivě fungoval.
Dozvíš se:
🔌 Tipy na užitečné pluginy a nástroje.
🆕 Novinky z WordPress světa.
💡 Praktické návody a rady.