WordPress Plugintipp – Post Snippets

Beim Befüllen meines Blogs mit Content merke ich, dass man manchmal immer die gleichen Textbausteine benötigt. Am Ende dieses Beitrages ist zum Beispiel eine Infobox, die auf die übergreifende Artikelserie verweist. Diese Infobox wird immer am Ende jedes Beitrags zu dieser Artikelserie angezeigt. Falls ein neuer Beitrag zur Artikelserie hinzugefügt wird, muss außerdem jedes mal die Artikelübersichtsseite manuell angepasst werden.

Es gibt also tatsächlich Gründe die gegen das manuelle Einbinden mit Copy und Paste sprechen:

  1. Der Autor (Ich) ist faul und hat keine Lust bei einem neuen Artikel in der Serie erst einen alten Artikel im Editor zu öffnen um den Inhalt der Infobox in die Zwischenablage zu kopieren.
  2. Wenn am Inhalt der Infobox etwas geändert werden soll, muss jeder Artikel einzeln korrigiert werden.
  3. Wenn ein Beitrag der Artikelserie hinzugefügt wird, muss die Übersichtsseite manuell angepasst werden.

Um genau das zu vermeiden und mir das Leben etwas leichter zu machen, war ich auf der Suche nach einem kleinen Plugin mit dem man Shortcodes und PHP Snippets selber erstellen und verwalten kann. Man kann die Shortcodes auch in der functions.php des Themes definieren, aber das ist nicht wirklich komfortabel…

Bei meiner Suche bin ich schließlich auf das Plugin Post Snippets aufmerksam geworden. Das Plugin ist klein aber fein:

Mit diesem Plugin kann man Codesnippets abspeichern die aus HTML, PHP Code oder einfachen Textbausteinen bestehen. Diese Codesnippets lassen sich wiederverwenden und an zentraler Stelle im WordPress Backend pflegen. Das Einfügen der Codesnippets in Beiträge ist mit Hilfe eines Buttons im Beitragseditor im Backend möglich. Zusätzlich kann man dem Codesnippet auch Variablen übergeben, um die Verwendung dynamischer zu gestalten.

Als kleine Hilfestellung hat der Entwickler eine Anleitung hier veröffentlicht. Der Sourcecode des Plugins ist übrigens auf GitHub verfügbar.

Alleine für diese Artikelserie habe ich also bereits zwei Anwendungsfälle für diese Plugin:

1. Infobox als Shortcode definieren

Um die obligatorische Infobox am Ende des Beitrages anzuzeigen, habe ich nach Installation des Plugins, in den Einstellungen des Plugins einen Shortcode definiert:

Post Snippets Optionen

Man vergibt einen Shortcode Namen und hinterlegt den Code der später ausgeführt werden soll. Dieser kann auch weitere Shortcodes enthalten, die zum Beispiel vom Theme zur Verfügung gestellt werden. Beim Schreiben eines Beitrages kann dieser Shortcode nun einfach in eckigen Klammern angegeben werden und bei der Ansicht des Artikels sieht man dann die Infobox, die im Shortcode definiert wurde.

2. Artikelliste als PHP Snippet und Shortcode definieren

Der zweite Anwendungsfall ist die automatische Aktualisierung der Artikelübersichtseite. Hierfür habe ich im Plugin ein PHP Snippet definiert:

$args = array
(
    'meta_query' => array(
        array(
            'key' => 'artikelserie',
            'value' => 'wegzumblog'
        )
    ),
    'order'=> 'ASC', 
    'orderby' => 'date'
);

$postslist = get_posts( $args );?>

<ol>
<?php
foreach ( $postslist as $post ) :?> 
<li>
<a href="<?php echo get_permalink( $post->ID ); ?>"><?php echo $post->post_title; ?></a>
</li>
<?php
endforeach;?>
</ol>

Damit das Ganze funktioniert habe ich im Beitragseditor bei den Artikeln, die zur Serie gehören ein benutzerdefiniertes Feld (custom field) mit dem Namen „artikelserie“ angelegt. Für dieses habe ich in den jeweiligen Artikeln den Wert auf „wegzumblog“ gesetzt.

Der PHP Code ermittelt nun mit Hilfe der WordPressfunktion get_posts alle Artikel in der Datenbank die das custom field „artikelserie“ mit dem Wert „wegzumblog“ gesetzt haben. Für jeden gefundenen Artikel wird nun mit der Funktion get_permalink die zu verlinkende URL ermittelt und der Name des Artikels mit hinterlegtem Link als nummerierte Liste ausgegeben…

Das war eigentlich schon alles!

Und nun folgt die obligatorische Infobox, die mit Hilfe meines Shortcodes generiert wird :-)

Dieser Beitrag ist Teil der Artikelserie "Der Weg zum eigenen Blog". Besuche die Artikelseite für weitere Artikel:
zur Artikelserie

Elmar

Ich bin Elmar aus Aachen und habe erst vor kurzem mit dem Aufbau dieses Blogs begonnen! Eigentlich ist das hier so eine Art Spielwiese für mich. Ich mache mir hier und da ein paar Notizen und freue mich darüber, falls Andere davon profitieren sollten. Ich dokumentiere hier was mir irgendwie in den Sinn kommt oder was ich so treibe. Ich koche gerne, beschäftige mich mit IT nahen Themen, probiere und experimentiere alles mögliche aus und erkunde auch gerne mit dem Rennrad die Straßen der Region.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.