WordPress: Kategorie-Liste scrollt nicht mehr [Lösung]

Seit dem Update auf WordPress 6.6 lassen sich Kategorie-Listen im Admin-Bereich nicht mehr scrollen, Stattdessen werden sie komplett angezeigt – also alle Kategorien untereinander in einer alphabetischen Liste.

Wenn man nur 3-4-5 Kategorien verwendet mag das nicht weiter stören. Wenn man in seiner WordPress-Website aber dutzende oder sogar hunderte Kategorien verwendet kann das dazu führen, dass sich die Kategorien kaum noch sinnvoll nutzen lassen. Die Eingabemaske wird entsprechend der langen Kategorie-Liste in die Länge gezogen – und wer das Kategorie-Widget aus der rechten Seitenleiste in den Hauptbereich z.B. unterhalb des Texteditors gezogen hat ein Problem.

Ich hatte genau diese Anordnung – also die Kategorie-Liste unterhalb des WYSIWYG-Editors – gefolgt von einer Reihe eigener Eingabefelder, die ich über Advanced Custom Fields Pro (ACF) angelegt hatte. Nach dem Update wurden diese ACF-Felder nun von der ausgeklappten Kategorie-Liste in fast unerreichbare Tiefen hinunter gedrückt. Ein Zustand, den man vielleicht ein paar Tage lang ignorieren kann – der aber ein flüssiges Arbeiten mit WordPress fast unmöglich macht.

Ich muss dazu sagen, dass ich „natürlich“ den Classic Editor bevorzuge – und dass dieses Problem offenbar nur im Classic Editor auftritt. So lautet eine der Empfehlungen dann auch, nicht den Classic Editor zu nutzen. Diese Option scheidet für mich aber aus, da ich es gewohnt bin, meine EIngabemasken selbst zu bauen und so zu gestalten, wie ich es möchte.

Im WordPress-Forum fand ich dann eine einfache Lösung für das Problem: per CSS kann man die Kategorie-liste dazu bringen, sich so zu verhalten, wie vor dem Update – also so, dass sich alle Kategorien scrollen lassen.

Der CSS-Schnippsel würd eregulär über ein Stylesheet funktionieren, wenn man denn für den Administrationsbereich ein Stylesheet definiert hat. Das ist sicherlich eher selten der Fall. Per PHP lässt sich der CSS-Schnippsel aber auch einfach über die functions.php in den Admin-Bereich einbauen:

add_action('admin_head', 'admin_css_code');
function admin_css_code()
{
echo '<style>

.categorydiv div.tabs-panel
{
max-height: 200px;
}

</style>';
}

Der Code stammt ursprünglich von dem Nutzer @vinodkkumar –– allerdings waren bei seinem Lösungsvorschlag leider die Anführungszeichen falsch formatiert. Ich habe den Code-Schnippsel sozusagen repariert – einfach per copy-paste in die funstions-php einfügen und schon lässt sich die Kategorie-Liste wieder scrollen.

Hier die Diskussion im WordPress-Forum:
wordpress.org/support/topic/category-list-no-longer-scrolling/

Worpress Suche-Formular: Submit-Button-Text anpassen

Eigentlich wollte ich nur den Text des Submit-Buttons des Standard-Suche-Formulars anpassen. Eigentlich. Das ist aber offenbar gar nicht so einfach, denn das Suche-Formular wird mir einer recht einfach gestrickten Funktion aufgerufen, über die sich zumindest meines Wissens nach der Text des Submit-Buttons leider nicht anpassen lässt.

Hier die Standard-Funktion, über die man das Suche-Fenster an beliebiger Stelle in einem WordPress-Template platzieren kann:

get_search_form();

Es gibt natürlich eine Reihe von Plugins, die genau das machen – die also eine einfache Möglichkeit bieten, die verschiedenen Details des Suche-Formulars zu bearbeiten – also auch den text des Submit-Buttons. Aber warum sollte man ein weiteres Plugin installieren, wenn man doch nur den Text Submit-Buttons anpassen möchte?

Stattdessen können wir auch relativ einfach die Funktion get_search_form() überschreiben und mit unserem eigenen Code ergänzen.

/* custom search form */

function custom_search_form( $form ) {
$form = '
<section class="search"><form role="search" class="search-form" method="get" id="search-form" action="' . home_url( '/' ) . '" >
<label class="screen-reader-text" for="s">' . __( 'Search:' ) . '</label>
<input type="search" class="search-field" value="' . get_search_query() . '" name="s" id="s" placeholder="…" />
<input type="submit" class="search-submit" id="searchsubmit" value="'. esc_attr__( 'Search' ) .'" />
</form></section>
';

return $form;
}
add_filter( 'get_search_form', 'custom_search_form', 40 );

Das Script muss einfach in der funtions-php des aktiven Themes platziert werden – und schon lässt sich der text des Submit-Buttons ändern.

Der Code basiert auf der Funktion custom_search_form, die ich unter der Überschrift ‚Custom WordPress Search Form with a Function‘ bei nicolaslule.com gefunden habe: nicolaslule.com/how-to-customize-the-search-form-in-wordpress/

Auf der Seite finden sich ein paar weitere hilfreiche Tipps und Tricks – zum Beispiel, wie man die Suche auf einen bestimmten Post Type beschränkt – oder auch, wie man den Submit-Button mit einem Icon ersetzen kann.

WordPress Dashboard-Felder ‚Boxen über „Ansicht anpassen“ hinzufügen‘ entfernen

Im Plugin White Label CMS > “Einstellungen Tab” > “Custom CSS for Admin” folgenden CSS-Code hinzufügen:

#dashboard-widgets .postbox-container .empty-container{
    display: none;
}

Oder den CSS-Code in einem eigenen Stylesheet hinterlegen, das im Admin-Bereich geladen wird.

Die Lösung habe ich hier gefunden:

https://wordpress.org/support/topic/remove-add-boxes-from-the-screen-options-menu/

MailPoet: Newsletter Layout linksbündig einrichten (align left)

Newsletter Layout align: left

Newsletter Layout align: left - Illustration: T.Bortels/cpu20.de

Nachdem mir das letzte MailPoet-Update nun mein schön modifiziertes Newsletter-Temnplate zerschossen hat sehe ich mich genötigt, die Anpssung mal zu dokumentieren, sodass ich beim nächsten Update nicht ganz so lange suchen muß.

Aber erstmal von vorne.

Ich benutze das WordPress Plugin MailPoet zum Versenden von Newsletter. Oder besser gesagt: einige meiner Kunden nutzen MailPoet als Newsletter-Tool – und ich helfe ihnen dabei.

Warum Mailpoet? Datenschutz und Datenhoheit

MailPoet bietet aus meiner Sicht eine Reihe von Vorteilen, die ich bei anderen Newsletter-Tools vermitte – allen voran die Möglichkeit, die Versendung der Newsletter über den eigenen Server vorzunehmen. Und daran anschließend auch den Umstand, daß die Liste der Newsletter-Abonnenten lokal auf dem Server des Kunden gespeichert ist. Das bietet uns vor allem Vorteile beim Datenschutz – es werden keine Adressen weitergegeben – nicht in die USA und auch nicht an irgendeinen anderen Dritten. Der Newsletter kann also relativ unkompliziert unter den Bedingen der Datenschutz-Grundverordnung betrieben werden – die Seite bleibt trotz Newsletter DSGVO-konform.

Newsletter im Design der Webseite

Natürlich möchte man, dass der Newsletter dem Design der Webseite entspricht. Das ist aber manchmal gar nicht so einfach. Während sich beim Webdesign in den letzten jahren viel getan hat bewegen sich die Möglichkeiten der Newsletter-Gestaltung noch auf dem gefühlten Niveau der späten Neunzigerjahre. Bilder, Tabellen und einige CSS-Anweisungen gehen – alles andere funktioniert nicht so richtig zuverlässig. Umso hilfreicher ist es da, wenn man ein komfortables Tool nutzen kann, das einem die Arbeit erleichtert. Schließlich soll sich die Redaktion ja auf das Texten und das Zusammenstellen des Newsletters kümmern – für die Gestaltung gibt es Templates.

Das klappt soweit auch ganz gut. Nun gab es allerdings folgendes Problem: Bei einem meiner Kunden sollte das Layout linksbündig sitzen, da die Webseite ebenfalls linksbündig sitzt. Es scheint aber leider üblich geworden zu sein, dass das Layout von Newslettern mittig sitzt. Was tun? Na klar, das Template entsprechend anpassen. Leider ist das in MailPoet aber gar nicht so einfach. Man kann zwar Templates bearbeiten, exportieren und importieren – der Teil, der für die Orientierung des Layouts zuständig ist sitzt aber außerhalb des Templates. Egal, wie sehr man auch die frisch exportierte JSON-Datei bearbeitet – das Layout bleibt mittig gesetz. und das liegt am Renderer, durch das jedes Template noch einmal durch muß.

Der Renderer besteht aus mehreren HTML-Templates. Uns interessiert an dieser Stelle die Datei Template.html. Zu finden ist diese an folgender Stelle:

wp-content > plugins > mailpoet > lib > Newsletter > Renderer > Template.html

Hier müss man nun einfach align=“center“ in align=“left“ umändern. Ich habe das an allen drei Stellen geändert, an denen dies vorkommt – vermutlich reicht die erste Stelle in zeile 97:

Vorher:

<td align="center" class="mailpoet-wrapper" valign="top">

Nachher:

<td align="left" class="mailpoet-wrapper" valign="top">

Fertig.

Ein beliebiges Element auf der Under Construction Seite zentrieren

Ich benutze sehr häufig das WordPress-Plugin Under Construction Page. Und damit meine ich SEHR häufig! Es ist im Grunde eines der Plugins, die ich als erstes installiere, wenn ich ein neues WordPress-Projekt beginne.

Eine Sache, die viele Leute zu stören scheint, ist, dass „es nicht möglich ist, Bilder zu zentrieren, die nicht 100% breit sind“ – naja –  es ist tatsächlich möglich. Und man braucht nur 2-3-4 Zeilen CSS, je nachdem wie man zählt:

.ucp-module {
    margin: 0 auto !important;
    float:none;
}

Sie fügen diese CSS-Zeilen einfach in das Feld „Custom CSS“ unter „Page Properties“ ein und fertig! Zauberei! Oder eigentlich „nur“ die Magie von CSS. Hoffentlich hilft das dem einen oder anderen? Mahlzeit!