WordPress Schlagwortwolke nach Kategorie

Wordpress Logo

Bis zur aktuellen Version von WordPress (5.4) gibt es beim mitgelieferten Widget „Schlagwörter-Wolke“ (Tag Cloud) keine Möglichkeit, nur die Schlagwörter einer bestimmten Kategorie anzeigen zu lassen (Tag cloud by category).
Auch die Suche nach einem einfachen – und vor allem aktuellen – PlugIn führte nicht zum gewünschten Ergebnis.

Deshalb hier ein kurzer Quelltext, der so in die functions.php des (Child-) Themes eingefügt werden kann und dann einen entsprechenden Shortcode zur Verfügung stellt:
WiSch Tag Cloud

function wisch_tag_cloud_shortcode( $atts = '' ) {
	$atts = shortcode_atts(
		array(
			'cat_id' => '14',
			'smallest' => '14',
			'largest' => '22',
			'separator' => ' | ',
		), $atts
	);
	
    $category_id = $atts['cat_id']; 
	$query_args = array( 'cat' => $category_id, 'posts_per_page' => -1 );
	$custom_query = new WP_Query( $query_args );
	if ($custom_query->have_posts()) :
		while ($custom_query->have_posts()) : $custom_query->the_post();
			$posttags = get_the_tags();
			if ($posttags) {
				foreach($posttags as $tag) {
					$all_tags[] = $tag->term_id;
				}
			}
		endwhile;
	endif;

	$tags_arr = array_unique($all_tags);
	$tags_str = implode(",", $tags_arr);

	$args = array(
		'echo'      => false,
		'smallest'  => $atts['smallest'],
		'largest'   => $atts['largest'],
		'unit'      => 'px',
		'number'    => 0,
		'format'    => 'flat',	
		'separator' => $atts['separator'],
		'order'     => 'count',
		'include'   => $tags_str
	);
	return wp_tag_cloud($args);
}
add_shortcode( 'wisch_tagcloud', 'wisch_tag_cloud_shortcode' );

Über den neuen Shortcode [wisch_tagcloud] kann dann an beliebiger Stelle eine entsprechene Schlagwörter-Cloud eingebunden werden.

Folgende Attribute stehen dabei zur Verfügung:
[wisch_tagcloud cat_id="14" smallest="14" largest="22" separator=" | "]

CAT_ID = Die ID der gewünschten Kategorie
SMALLEST = Kleinste Schriftgröße
LARGEST = Größte Schriftgröße
SEPARATOR = Trennzeichen zwischen den gelisteten Schlagwörtern
Die Angaben im Beispielaufruf oben stellen die Standardwerte dar.

Um den Shortcode im Widget nutzen zu können, einfach das Textwidget verwenden und dort den Shortcode einfügen.
Alternativ noch eine weitere Zeile in die functions.php einfügen:
add_filter( 'widget_text', 'do_shortcode');

Quellen und Infos: [1][2][3][4]

WordPress – The response is not a valid JSON response.

Wordpress Logo

Die Umstellung von HTTP auf HTTPS sollte inzwischen jeder vollzogen haben.
Doch der ganze ‚alte‘ Content müsste dazu geprüft werden, auch gibt es zahlreiche andere Stellen in einer gewachsenen Seite, die angefasst werden müssten.

PlugIns wie z.B. Really Simple SSL und andere helfen hier, indem die entsprechenden Links und Einstellungen on-the-fly durch das PlugIn umgesetzt werden… Links usw. werden also nicht im Original sondern zum Zeitpunkt der Auslieferung entsprechend geändert.

Nach einem Update auf die aktuelle WP-Version v5.3 war es aber genau solch ein PlugIn, dass mir den oben genannten Fehler erzeugte.
Jedes Mal, wenn ich einen Blogbeitrag speichern oder veröffentlichen, oder z.B. ein Beitragsbild zuordnen wollte usw., kam die Meldung „The response is not a valid JSON response.“.

Um es kurz zu machen… das schlichte Deaktivieren des PlugIns war dann schon die Lösung. Der Hoster und die aktuelle WP-Version tun hier soweit schon ihren Job.
Aber letztlich werde ich dann wohl doch in nächster Zeit mal meinen alten Content prüfen und an entsprechender Stelle anpassen.

Quelle: [1]


Update:
Das Problem trat dann doch nochmals auf und lag letztlich an Seitenelementen, die weiterhin via HTTP statt HTTPS eingebunden wurden. Diese zu identifizieren ist letztlich recht einfach:
Im Firefox unter ‚Extras‘ -> ‚Web Entwickler‘ die ‚Web-Konsole‘ (oder via STRG+UMSCHALT+K) öffenen.
Dort werden direkt die unsicheren Elemente gelistet und können einzeln bzgl. der Anbindung angegangen werden.

Bei mir waren es dann noch einige Grafiken in der Mediathek, die noch HTTP als URL hinterlegt hatten. Die Korrektur habe ich dann mit dem PlugIn Suchen & Ersetzen Von Inpsyde GmbH erledigt.
Alternativen gibt es dazu natürlich auch, z.B. hier

Notepad++ – Zeichen am Zeilenanfang löschen

Notepad++

Die Aufgabe:
In einer Textdatei (in meinem Beispiel eine Log-Datei) in allen Zeilen eine bestimmte Anzahl an Zeichen am jeweiligen Zeilenanfang entfernen.

Eine einfache Möglichkeit bietet die Funktion, auch Spaltenweise markieren zu können.
Eine der vielen Möglichkeiten und Funktionen die Notepad++ bietet aber nicht wirklich jedem bekannt sind.
Dazu einfach beim Markieren mit der Maus die ALT-Taste gedrückt halten und schon kann man nicht nur Zeilen, sondern auch Spalten markieren:

Notepad++ - Spalten markieren

Doch was tun, wenn die betroffene Datei – wie in meinem Fall – 60.000 Zeilen oder mehr hat. Geht sicher auch, aber dann bietet sich eine andere Lösung an:
Suchen & Ersetzen mit Hilfe eines regulären Ausdrucks:

Notepad++ - Spalten markieren

Wie immer eine einfache Lösung, wenn man sie kennt. 😉

Quelle: [1]

Ältere Version eines WordPress PlugIn finden

Wordpress Logo

Wieder so etwas, wie wir es jeden Tag im IT-Alltag erleben: Es ist ganz leicht, wenn man weiß, wo man zu klicken hat! 😉

Eventuell bietet das aktuelle Hosting nicht die neueste PHP-Version, dieser oder andere Gründe könnten es notwendig machen, dass ein bestimmtes PlugIn nicht auf die aktuellste Version aktualisiert werden kann/darf. Doch woher bekommt man im Zweifelsfalle eine ältere Version des PlugIns?

Wie gesagt, ist im Grunde sehr simpel:

  1. Aufruf der PlugIn-Seite im Repository von WordPress.org (z.B. Contact Form 7)
    Wordpress PlugIn
    In der Seitenleiste rechts findet sich ein Link für eine „Erweiterte Ansicht
  2. Auf der neuen Seite findet man unten am Ende dann die Möglichkeit aus allen verfügbaren Versionen zu wählen:
    Wordpress PlugIn Versionen
    Dabei gibt es meist sogar noch eine „Entwicklerversion“ für Experementierfreudige. Das ist der Stand der nächsten, kommenden Version, somit also nicht für den Echtbetrieb geeignet.