WordPress tillåter normalt inte att du lägger till PHP-kod på sidor eller inlägg. Det är bäst; du vill inte att kunderna ska upptäcka kraften i unlink-funktionen! Du kan dock skapa anpassade funktioner som körs när en kortkod påträffas i posttexten.
enkla kortkoder
kortkod funktioner kan läggas till plugin kod eller ditt tema funktioner.php-fil. Om det är det senare, skulle jag rekommendera att skapa separata kortkoder.php-fil och lägger sedan tillinclude('shortcodes.php');
till funktioner.php.
här är ett grundläggande ”Hello World” – exempel:
function HelloWorldShortcode() {return '<p>Hello World!</p>';}add_shortcode('helloworld', 'HelloWorldShortcode');
Ange någonstans på en sida eller ett inlägg för att mata ut resultatet av HelloWorldShortcode () – funktionen.
parametrerade kortkoder
följande kortkodsfunktion genererar en sidhierarki webbplatskarta. Tre valfria parametrar kan skickas: en titel, ID för den resulterande ul
– listan och ett djupvärde som anger antalet sidnavigeringsnivåer.
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');
en anpassad webbplatskarta kan läggas till på vilken sida som helst med en kortkod som .
BB – kod kortkod
det sista sättet att lägga till kortkoder använder BB – kodsyntax:
function StyleText($params, $content = null) {// default parametersextract(shortcode_atts(array('style' => ''), $params)); return'<span' .($style == '' ? '' : " style="$style"") .">$content</span>";}add_shortcode('format','StyleText');
denna funktion gör det möjligt för författaren att bädda in CSS-stilar i sin artikel, t.ex. . Kanske är det inte så bra!…
har du sett några intressanta användningsområden för kortkoder inom WordPress-projekt?