Jak stworzyć własny WordPress Shortcodes

WordPress zwykle nie pozwala na dodawanie kodu PHP do stron lub postów. Tak jest najlepiej; nie chcesz, aby klienci odkrywali moc funkcji unlink! Możesz jednak tworzyć niestandardowe funkcje, które są wykonywane, gdy w tekście postu napotkasz krótki kod.

proste skróty

funkcje skrótów można dodać do kodu wtyczki lub funkcji motywu.plik php. Jeśli to ten drugi, polecam stworzenie osobnego shortcodes.plik php, a następnie dodanieinclude('shortcodes.php'); do funkcji.php.

oto podstawowy przykład „Hello World”:

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

wprowadź gdzieś w obrębie strony lub postu, aby wyświetlić wynik funkcji HelloWorldShortcode ().

sparametryzowane skróty

następująca funkcja skrótu generuje mapę strony w hierarchii. Można przekazać trzy opcjonalne parametry: tytuł, ID wynikowej listyul oraz wartość głębokości wskazującą liczbę poziomów nawigacji strony.

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');

niestandardowa Mapa strony może być dodana do dowolnej strony za pomocą krótkiego kodu, takiego jak.

BB code shortcode

ostateczny sposób dodawania skrótów wykorzystuje składnię kodu BB:

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

Ta funkcja pozwala autorowi osadzić style CSS w swoim artykule, np.. Może to nie jest najlepszy pomysł!…

Czy widziałeś jakieś ciekawe zastosowania skrótów w projektach WordPress?

Related Posts

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *