WP Theme mnmlwp: Widget Anpassung

Wer mir dem Titel nichts anfangen kann, braucht nicht weiterzulesen 😉

Hier geht es darum, Widgets aus dem mnmlwp Theme anzupassen, speziell  “Colored Categories” (“Farbige Kategorien”) und “Neueste Beiträge”.

Der Widget-Titel soll so angepasst werden, dass ein Link zu “alle / Startseite” möglich ist. 

Im normalen Widget-Editor geht das nicht, das HTML wird aus dem Titel entfernt, wenn man dort welches einsetzt (Bild 1: Eintrag, Bild 2: nach dem Speichern = HTML ist entfernt):

Also muss etwas weiter unter die Motorhaube geschaut werden.  Auf geht’s:

Anpassung mnmlwp Widget “Neueste Beiträge” (Header)

Theme Editor > widgets/mnmlwp-recent-posts/mnmlwp-recent-posts.php

In ca. Zeile 90 (abhängig vom eigenen Code) steht foreach( $posts as $post ) – damit startet die Auflistung der Beiträge (Posts). Also habe ich einfach genau oberhalb davon Folgendes eingefügt:

// -------------------------- ANPASSUNG: "Titel für neueste Beitraege" --- START
echo 'Klick <a href="/">&gt; HIER &lt;</a> f&uuml;r alle Blablas<br>';
// -------------------------- ANPASSUNG: "Titel für neueste Beitraege" --- ENDE

Dieser Code fügt über den Beitrags-Zeilen einfach eine weitere, feste Zeile mit dem gewünschten Linktext hinzu. Im Widget Editor kann man jetzt trotzdem noch einen zusätzlichen normalen Text als Überschrift vergeben. Fertig. Das Ergebnis sieht dann in etwa so aus (“Letzte BlaBlas” wurde als Titel im Widget Editor vergeben, das mit Klick >HIER< für alle Blablas kommt aus dem o.g. Code):

Anpassung mnmlwp Widget “Farbige Kategorien” (Header und Sortierung)

Theme Editor > widgets/mnmlwp-colored-categories/mnmlwp-colored-categories.php

In ca. Zeile 70 (abhängig vom eigenen Code) steht foreach( $categories as $cat ) – damit startet die Auflistung der Kategorien. Also habe ich einfach genau oberhalb davon Folgendes eingefügt:

// -------------------------- ANPASSUNG: "Titel für alle Kategorien" --- START

$text_color = $colorize ? $cat_meta['color'] : 'inherit';
$style = 'background:' .$color;

echo '<a class="mnmlwp-colored-category-link" href="/">';
echo '<span class="mnmlwp-colored-category-link-title" style="color:' .
$text_color . '">Klick >HIER< für alle Blablas oder w&auml;hle eine Kategorie:</span>';
echo '<span class="mnmlwp-colored-category-link-color" style="' . $style . '">' . $cat_count . '</span>';
echo '</a>';

// -------------------------- ANPASSUNG: "Titel für alle Kategorien" --- ENDE

Auch hier fügt der Code über den Kategorie-Zeilen einfach eine weitere, feste Zeile mit dem gewünschten Linktext hinzu. Im Widget Editor kann man jetzt trotzdem noch einen zusätzlichen normalen Text als Überschrift vergeben. Fertig. Das Ergebnis sieht dann in etwa so aus (“test” wurde als Titel im Widget Editor vergeben, das mit Klick >HIER< für alle Blablas kommt aus dem o.g. Code):


Sortierung der Kategorien:

Was jetzt auffällt: die Kategorien sind “irgendwie” sortiert, aber nicht in Hierarchien oder wenigestens alphabetisch. Optimierung:

In derselben Datei wie eben( mnmlwp-colored-categories.php) suchen nach $categories = get_terms( 'category und darin statt nach ‘count’ einfach nach ‘name’ sortieren, alles andere so lassen – fertig:

 $categories = get_terms( 'category', array(
'orderby' => 'name', // statt: 'orderby' => 'count', 

 

Damit sind die Kategorien wenigstens schonmal A-Z sortiert. Alternativ lässt sich auch nach der ID der Kategorien sortieren (‘orderby’ => ‘id’), das macht aber wenig Sinn, denn die IDs lassen sich im Backend nicht mit “Bordmitteln” beeinflussen. Wer hierzu weiterforschen möchte, dem sei Folgendes empfohlen:

Gelegentlich möchte ich das Kategorie-Widget von mnmlwp noch um Hierarchie-Ebenen erweitern. Oder hat das schon jemand?

Was habt Ihr noch so am mnmlwp und dessen Widgets geschraubt? Schreibt gern einen Kommentar!

Happy Coding
antiblabla admina

 

Artikel ID 538

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

%d Bloggern gefällt das: