add_filter zum Content hinzufügen – Eigene Shortcodes schreiben

eigene shortcodes in wordpress erstellen content

In manchen Fällen möchte man seine eigenen Shortcodes in WordPress schreiben. Das ist gerade dann sinnvoll, wenn man einen Artikel dynamisch halten möchte. So kann man zum Beispiel durch eigene Shortcodes in WordPress mitten im Text Content aus einer API laden, die immer aktuell sind und muss diese nicht manuell ändern. Dies ist zum einen sehr zeitaufwändig und zum anderen auch lästig und Ziel eines jeden Programmierers sollte es ja auch sein, den Arbeitsaufwand für sich oder den Kunde so gering wie möglich zu halten – und was bietet sich da nicht besser an als eigene Shortcodes in WordPress zu erstellen? Aus den genannten Gründen möchte ich Euch in meinen Artikel zeigen, wie Ihr …

Eigene Shortcodes in WordPress schreibt

Shortcodes sind Platzhalter im Content, die ersetzt werden. Ich möchte Euch anhand der Shortcodes [month] und [year] zeigen, wie Ihr den aktuellen Monat und das aktuelle Jahr im Content ausgeben könnt, ohne diesen manuell ändern zu müssen.

add_filter( ‚the_content‘, ’new_content‘, 10, 2 );

Zunächst einmal schreibt Ihr einen Text in den Editor von WordPress und fügt dann [month] und [year] ein. Der Text könnte wie folgt aussehen:

Shortcodes vorher:

Diesen Artikel habe ich im [month] [year] gelesen.

Anschließend kopiert Ihr den folgenden Code in die functions.php:

function new_content ( $content, $id = null ) {
	// [year]
	$year		=	date('Y');
	
	// [month]
	$monate		=	array(
		1	=>	"Januar",
		2	=>	"Februar",
		3	=>	"März",
		4	=>	"April",
		5	=>	"Mai",
		6	=>	"Juni",
		7	=>	"Juli",
		8	=>	"August",
		9	=>	"September",
		10	=>	"Oktober",
		11	=>	"November",
		12	=>	"Dezember"
	);
	$monat		=	date( 'n' );
	
	// NEW CONTENT
	$content		=	str_replace( array( '[year]', '[month]' ), array( $year, $monate[$monat] ), $content );
	
    return $content;
}
add_filter( 'the_content', 'new_content', 10, 2 );

Zur Erklärung: Mit add_filter( 'the_content', 'new_content', 10, 2 ); fangen wir den Content ab und fügen diesen unserer function new_content() hinzu. In der Funktion ermitteln wir das Jahr und den Monat mit der Date-Funktion. Anschließend ersetzen wir mit str_replace() die eigenen WordPress Shortcodes [month] und [year] mit den Variablen $month und $year.

Zu guter letzt geben wir den überarbeiteten Content wieder aus und Euer Text sollte nun so aussehen:

Shortcodes nacher:

Diesen Artikel habe ich im Dezember 2018 gelesen.

Ich hoffe ich konnte Euch zeigen, wie Ihr einen eigenen Shortcode in WordPress erstellen könnt.

oliver Ich heisse Oli und komme aus dem wuseligen Berlin. Meine Leidenschaft für Webseiten hält seit mehr 10 Jahren an. Dabei ist es egal ob ich kleinere oder größere Projekte umsetze - ich hänge mich in jedes Projekt mit voller Leidenschaft rein und versuche mich dabei immer wieder neu zu entdecken und neue Ideen umzusetzen.

Hinterlasse ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.