Es gibt noch weitere Funktionen, auf die ich allerdings nicht allzu sehr eingehen will, da sie oft nicht benötigt werden.
get_shortcode_regex()
Die Funktion liefert den regulären Ausdruck zurück, der auf Inhalte angewandt wird. In Version 3.9.1 von WordPress enthielt er sechs „Unterausdrücke“ und ist daher sehr komplex. Ein var_dump()
auf die Funktion ergibt derzeit folgendes:
string(168) "\[(\[?)(embed|wp_caption|caption|gallery|playlist|audio|video)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)"
Wenn Sie einen neuen Shortcode hinzufügen, würde der reguläre Ausdruck entsprechend erweitert werden:
<?php
add_shortcode( 'mm_current_time', function(){
return '';
} );
?>
Ergibt:
string(184) "\[(\[?)(embed|wp_caption|caption|gallery|playlist|audio|video|mm_current_time)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)"
shortcode_parse_atts()
Sie wird von do_shortcode()
verwendet um die Attributliste aus dem Shortcode auszulesen und in ein Array umzuwandeln. Die Funktion kann auch für andere Programmierprobleme zweckentfremdet werden.
Beispiel
<?php
var_dump( shortcode_parse_atts( 'date_format="m.d.Y" time_format="G:i"' ) );
?>
Gibt folgendes aus:
array(2) {
["date_format"] => string(5) "m.d.Y"
["time_format"] => string(3) "G:i"
}