9.9. Weitere Shortcode-Funktionen

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"
}