jak vytvořit vlastní WordPress Shortcodes

WordPress obvykle neumožňuje přidávat PHP kód na stránky nebo příspěvky. To je nejlepší; nechcete, aby klienti objevili sílu funkce unlink! Můžete však vytvořit vlastní funkce, které se provádějí, když se v textu příspěvku objeví krátký kód.

jednoduché shortcodes

zkrácené funkce mohou být přidány do kódu pluginu nebo funkcí motivu.php soubor. Pokud je to druhé, doporučil bych vytvořit samostatný shortcodes.php soubor, pak přidání include('shortcodes.php'); do funkcí.Linux.

Tady je základní „Hello World“ příklad:

function HelloWorldShortcode() {return '<p>Hello World!</p>';}add_shortcode('helloworld', 'HelloWorldShortcode');

Enter někde ve stránce nebo poštou na výstup výsledek HelloWorldShortcode() funkce.

parametrizované shortcodes

následující funkce shortcode generuje sitemap hierarchie stránek. Tři volitelné parametry, mohou být předány: název, ID výsledná ul seznam, a hloubka hodnota označující číslo stránky navigační úrovně.

function GenerateSitemap($params = array()) {// default parametersextract(shortcode_atts(array('title' => 'Site map','id' => 'sitemap', 'depth' => 2), $params));// create sitemap$sitemap = wp_list_pages("title_li=&depth=$depth&sort_column=menu_order&echo=0");if ($sitemap != '') {$sitemap =($title == '' ? '' : "<h2>$title</h2>") .'<ul' . ($id == '' ? '' : "") . ">$sitemap</ul>";}return $sitemap;}add_shortcode('sitemap', 'GenerateSitemap');

vlastní sitemap mohou být přidány do jakékoliv stránky pomocí shortcode, například .

BB kód zkrácený

poslední způsob, jak přidat shortcodes používá BB code syntaxe:

function StyleText($params, $content = null) {// default parametersextract(shortcode_atts(array('style' => ''), $params)); return'<span' .($style == '' ? '' : " style="$style"") .">$content</span>";}add_shortcode('format','StyleText');

Tato funkce umožňuje autor vložit CSS styly v jejich článku, např. . Možná to není tak skvělý nápad!…

viděli jste nějaké zajímavé využití krátkých kódů v rámci projektů WordPress?

Related Posts

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *