Shortcodes

Hinweis:
Die Arbeit mit Shortcodes sollte nur von erfahrenen Benutzern durchgeführt werden. Bei Fehlern kann u. U. die Website nicht mehr angezeigt werden.


Mit Shortcodes lassen sich z. B. Inhalte an definierten Stellen (Seite, Widget, Footer usw.) ausgeben. Dazu muss lediglich der Shortcode “[shortcode]” in Seite/Beitrag oder Widget eingefügt werden. Direkt in einer Datei (z. B. footer.php) lässt sich auch ein Shortcode hinzufügen.

Bevor ein Shortcode verwendet werden kann, ist der zugehörige PHP-Code einzufügen. Dazu stehen mehrere Möglichkeiten zur Verfügung:

  • Direkt in die Datei “functions.php” des Themes einbauen (Child-Theme empfohlen). Bei vielen Einträgen wird allerdings der Datei-Inhalt u. U. unüberichtlich. Wenn das Theme gewechselt wird, ist der eingefügte PHP-Code wirkungslos und der Vorgang beim neuen Theme zu wiederholen.
  • Nutzung eines WordPress-Plugins wie “Code Snippets” Damit wird die Code-Eingabe sehr vereinfacht und es kann (fast) nichts schiefgehen. Der PHP-Code wird in die Datenbank geschrieben, wodurch die Performance der Website geringfügig abnimmt.

Beispielcode für eine Copyrightzeile mit automatischer Anpassung der Jahreszahl:

/*
Copyright-Zeile
Dieser Shortcode fuegt eine Copyright-Zeile, z. B. im Footer, ein.
Bei Bedarf kann das Erstellungsjahr des Blogs/der Website dem aktuellen Jahr vorangestellt
werden (z. B. 2014 - 2020).
*/
function copyright_zeile() {
    $blog_created = "2014 - "; // Bei Bedarf Erstellungsjahr im Format "jjjj - " eingeben
    $h_copyright = "&copy " . $blog_created . date('Y') . " " . get_option('blogname');
    return $h_copyright;
}
add_shortcode('h_copyright', 'copyright_zeile');

 

(Der Beispielcode aus der Datei wird in die “functions.php” oder eines der erwähnten Plugins eingefügt)

Shortcode einfügen:
Der Name des Shortcodes muss (bei diesem Beispiel) aus dieser Zeile entnommen werden:

add_shortcode('h_copyright', 'copyright_zeile');

 

Der verwendete Shortcode:

[h_copyright]

 

Anstelle des Shortcodes erfolgt dann die Ausgabe der hinterlegten Funktion wie z. B. eine Jahreszahl o. ä.

 

Beim Einfügen in eine Datei (z. B. footer.php)  ist die folgende Zeile zu verwenden:

<?php echo do_shortcode("[h_copyright]"); ?>

 

In einem PHP-Abschnitt entfallen die PHP-Tags, so dass folgende Zeile verwendet wird:

echo do_shortcode("[h_copyright]");

 

Anwendung in Gutenberg:
Zum Einfügen eines Shortcodes in Seiten oder Beiträge benutzen wir unter Gutenberg den Block “Shortcode”…

 

…und fügen unseren Shortcode in das gezeigte Feld ein:

 

Für Widgets verwenden wir das Text-Widget und geben dort im großen Feld den Shortcode ein: