WordPress 4.2 Title-Attribut einblendenSo schnell kann es gehen – WordPress rollt eine neue Version aus und schon verschwinden Felder aus dem Editor. So geschehen zum Beispiel mit der Veröffentlichung von WordPress 4.2 und dem Title-Attribut für Links. Bis dato konnte man im Link-Dialog das Title-Attribut angeben. Mit Version 4.2 ist dieses nun verschwunden und anstelle dessen kann man den Linktext definieren – was mit Verlaub gesagt – völliger Schwachsinn ist, da sich der Linktext ja schon durch die Textmarkierung definieren lässt.

Title-Feld im Link-Fenster wieder anzeigen

Linkdialog - WordPress 4.2Um das Title-Feld im WordPress-Link-Dialog wieder anzuzeigen, hilft momentan folgendes kleines Plugin. Mit dem „Restore Link Title Field“-Plugin von Samuel Wood und Sergey Biryukov lässt sich das Feld wieder einblenden. Das „neue“ Linktext-Feld bleibt dabei zusätzlich erhalten. Das Plugin findet ihr über obigen Link oder direkt im WordPress-Pluginverzeichnis.

Linkdialog - WordPress 4.2 mit Title-AttributDas Title-Attribut wurde übrigens mit voller Absicht seitens des WordPress Teams entfernt. Dort ist man der Meinung, dass es in Zeiten von Touchscreens keinen sinnvollen Zweck mehr erfüllt und zudem nur Verwirrung gestiftet habe, da nicht klar gewesen sei, wo der Unterschied zwischen Title-Attribut und Linktext wäre.

The ‘Title’ field was intentionally removed from the wpLink modal in#28206 largely because it was often confused with the actual link text itself.

Meiner Meinung nach absoluter Schwachsinn. Erstens kann das Title-Attribut aus SEO-Sicht immer noch einen Sinn haben, wenn vielleicht auch nicht mehr so stark wie vor ein paar Jahren noch, und zweitens ist die Rücksichtnahme auf Menschen, die nicht einmal Linktext von Title-Attribut unterscheiden können, kein valides Argument in meinen Augen. Da hätte ein kleines Popup bzw. eine F.A.Q. wesentlich mehr Sinn gemacht. Wenn ich etwas nicht verstehe, dann lerne ich es und blende es nicht einfach aus.

RSS-Feeds in WordPress anzeigenUm externe RSS-Feeds in WordPress anzuzeigen gibt es etliche Lösungen und noch einmal mindestens soviele Plugins. Wenn man jedoch nur einen einzigen Feed innerhalb seiner Seite anzeigen möchte, kann es sinnvoll sein, sich die Installation eines weiteren Plugins zu sparen.

Denn die Anzeige eines RSS-Feeds in einem WordPress-Theme ist mit wenigen Zeilen PHP-Code getan und funktioniert auch ganz ohne Plugin.

RSS-Feed in WordPress-Theme anzeigen

Um einen RSS-Feed im Theme anzuzeigen, muss die entsprechende Datei des Themes im WordPress-Editor geöffnet werden. Dies könnte zum Beispiel die sidebar.php-Datei sein. Innerhalb der Datei muss danach folgendes Snippet dort platziert werden, wo der Feed angezeigt werden soll.

 

 

PHP Memory Limit in WordPress erhöhenWer einen WordPress-Blog besitzt, der kontinuierliches Wachstum verzeichnet oder wer viele „rechenintensive“ WordPress-Plugins nutzt, der wird früher oder später unweigerlich mit dem Thema PHP Memory Limit in Hinblick auf seinen WordPress-Blog konfrontiert werden.

Je nach Besucherzahl und Menge der Plugins kann das festgelegte Memory Limit überschritten werden, was sich in allerhand Fehlerbildern wiedergeben kann. Im besten Fall wird man mit Fehlermeldungen wie „Fatal error: Allowed memory size of XXXX bytes exhausted (tried to allocate XXXX bytes) in…“ oder „Out of memory (allocated XXXX) (tried to allocate XXXXX bytes) in…“ begrüßt, im schlechtesten Fall erscheint statt dem Blog nur noch eine weiße Seite im Browser. Da diese als Ursache nicht zwingend das PHP Memory Limit haben muss, ist dieses Fehlerbild besonders ärgerlich, da man nicht direkt weiß, wie man das Desaster wieder beheben kann.

Im nächsten Abschnitt soll es erst einmal um die Problemlösung – das Anhaben des PHP Memory Limits für WordPress – gehen. Wer noch mehr Hintergrundwissen benötigt, liest zudem noch den letzten Abschnitt dieses Artikels, in dem weitere Informationen zum Thema „WordPress PHP Memory Limit“ gegeben werden.

4 Varianten das PHP Memory Limit zu erhöhen

Um das PHP Memory Limit zu erhöhen gibt es verschiedene Möglichkeiten, die ich meiner Präferenz nach absteigend vorstelle.

Variante 1: Bei dieser Variante muss in der wp-config.php-Datei eine zusätzliche Zeile Code eingefügt werden. Die Datei „wp-config.php“ befindet sich im Hauptverzeichnis eurer WordPress-Installation und kann per FTP, SCP oder SSH bearbeitet werden.

Die oben stehende Zeile gehört direkt an den Anfang (und hinter das einleitende „<?php“) der wp-config.php-Datei. Das 128M steht hierbei für 128 Megabyte. Wenn euer Hoster es zulässt und euer Blog es benötigt könnt ihr hier aber auch höhere Werte wie z.B. 256M einsetzen.

Variante 2: Diese Variante verhält sich analog zu Variante 1. Lediglich der einzufügende Code unterscheidet sich. Folgende Zeile gehört also wieder direkt an den Anfang der wp-config.php-Datei.

Variante 3: In dieser Variante wird statt der wp-config die .htaccess-Datei im Hauptverzeichnis der WordPress-Installation angepasst. (Sollte dort noch keine .htaccess-Datei liegen, muss diese natürlich neu angelegt werden.) Innerhalb der .htaccess-Datei fügt ihr, wieder direkt am Anfang, folgende Zeile Code ein.

Variante 4: Diese Variante solltet ihr euch als Notlösung im Hinterkopf behalten, falls keine der ersten drei Varianten funktioniert. Denn diese Variante, welche das Bearbeiten der php.ini-Datei beinhaltet, ändert das PHP Memory Limit nicht nur für eure WordPress-Installation, sondern für alle Webseiten, die auf eurem Webserver liegen. Dies kann zu nicht erwünschten Seiteneffekten führen, sodass ich im Normalfall von dieser Variante abraten würde.

Um das Limit global hochzusetzen, ist obige Zeile in die php.ini-Datei einzufügen.

PHP Memory Limit in WordPress anzeigenEgal für welche Variante man sich entscheidet, ein kurzer Check, ob die Einstellungen übernommen wurden, sollte in jedem Fall durchgeführt werden. Hierbei erleichtern Plugins wie WP-Memory-Usage einem die Arbeit. Nach der Installation zeigt das Plugin im WordPress Dashboard sowohl das gesetzte Memory Limit als auch den tatsächlichen, aktuellen Speicherverbrauch an.

Grundlagen: PHP Memory Limit und WordPress

Was genau ist überhaupt das PHP Memory Limit und in welchem Verhältnis steht es zu WordPress? Damit WordPress funktioniert und an die Webbrowser der Seitenbesucher ausgeliefert wird, sind im Normalfall 3 Softwarekomponenten nötig. Das sind ein Webserver (wie z.B. Apache), der die Webseiten an den Besucher ausliefert, eine Datenbank (z.B. MySQL), in der Konfigurationen, Artikel und Inhalte der des WordPress-Blogs gespeichert sind und PHP. Der PHP-Interpreter liest die PHP-Skripte und verarbeitet diese. Dabei selektiert er zum Beispiel Daten aus der Datenbank und generiert mit diesen Daten angereicherten HTML-Code, der dann vom Webserver an den Besucher ausgeliefert wird.

Für diese „Arbeit“ benötigt PHP nicht nur Rechenleistung, sondern auch Arbeitsspeicher. Wie viel vom Arbeitsspeicher des Servers dabei für den PHP-Interpreter zur Verfügung stehen, legt wiederum die PHP Memory Limit Einstellung fest. WordPress selbst sagt, dass 32M (32 Megabyte) ausreichend sind, um WordPress zu betreiben. Im Normalfall ist dies jedoch schon sehr knapp bemessen. Kommen nun viele Besucher auf den eigenen Blog oder sind viele Plugins installiert, so reichen 32M nicht mehr aus und es kommt zu den Fehlermeldungen, auf die ich im ersten Abschnitt dieses Artikels eingegangen bin.

Um diesen Problemen aus dem Weg zu gehen, kann man das PHP Memory Limit erhöhen, um dem PHP-Interpreter mehr Arbeitsspeicher zur Verfügung zu stellen. Übertreiben sollte man es hierbei auch nicht. Wenn man einen vServer mit insgesamt 384 MB Arbeitsspeicher hat, dann macht es keinen Sinn das PHP Memory Limit auf 256M zu setzen. Denn der verbleibende Arbeitsspeicher muss ja schließlich noch für Betriebssystem, Webserver, Datenbank und andere Dienste reichen. In diesem Fall wäre also eher ein größerer Server nötig. Allgemeiner gesagt: Man sollte beim Setzen des Memory Limits also auch immer den Blick auf die anderen Komponenten wahren.

WordPress Suchen und Ersetzen mit SQLWill man blogweite Inhalte, also Wörter, Phrasen oder Textbausteine, die sich durch den ganzen Blog ziehen ändern, so kann dies je nach Größe des Blogs und Anzahl der Artikel zu einem wahren Kampf ausarten.

Bei 10, 20 oder 50 Artikeln mag eine einzelne Bearbeitung der jeweiligen Artikel noch machbar sein. Bei 500, 1000 oder noch mehr Artikeln stellt dies jedoch keine Option mehr dar.

Um seitenweit Inhalte in allen Blogartikel austauschen zu können, gibt es mehrere Möglichkeiten. So können zum Beispiel per SQL-Befehl Inhalte direkt in der WordPress-Datenbank ausgetauscht oder mit Hilfe eines Plugins eine Massenersetzung durchgeführt werden. Auf diese beiden Möglichkeiten werde ich nachfolgend kurz eingehen.

Suchen & Ersetzen in WordPress per SQL

Vorsicht: Änderungen per SQL-Befehl sind irreversibel. Vor der Ausführung der nachfolgenden Statements sollte unbedingt ein Backup der entsprechenden Tabelle angelegt werden!

Zuallererst wird eine Eingabemöglichkeit zur Ausführung von SQL-Befehlen benötigt. Dies kann, sofern vorhanden, über eine bestehende phpMyAdmin-Installation geschehen. Wer in der Shell fit ist, kann auch den MYSQL-Console-Client nutzen. Wer weder das eine, noch das andere bevorzugt, kann auch ein kostenloses WordPress-Plugin wie den WP-DBManager nutzen.

Ersetzt wird nun mit folgendem SQL-Update-Statement:

Es wird also eine Aktualisierung der post_content-Tabelle durchgeführt, die die Inhalte aller Posts enthält. Die Parameter „suche-nach“ und „ersetze-mit“ müssen natürlich gegen das Suchwort und den neuen Text ausgetauscht werden.

Möchte man zum Beispiel alle Links im Blog auf „DoFollow“ setzen, so eignet sich folgendes Statement:

Ein weiteres Beispiel wäre das Ersetzen einer Domain, auf die man aus vielen Artikeln verlinkt hat. Würde ab morgen nicht mehr unter „google.de“ sondern unter „datenkrake.net“ erreichbar sein, so würde folgender Befehl seinen Zweck erfüllen:

Weitere denkbare Szenarien, sind das Austauschen von Keywords oder Zeichenfehlern (z.B. †statt ä).

(Solltet ihr Hilfe beim Formulieren eines eigenen Statements benötigen, hinterlasst einen Kommentar unter dem Artikel.)

Suchen & Ersetzen per WordPress-Plugin

Alternativ kann auch ein WordPress-Plugin zur Massenersetzung genutzt werden. Ein einfaches aber effizientes Plugin hierfür ist „Search and Replace“ von Frank Bültge, welches im WordPress-Plugin-Directory zum Download bereit steht.

Search & Replace WordPress-Plugin

Nach der Installation findet sich das Plugin im „Werkzeuge“-Menü der linken Sidebar im WordPress Backend. Innerhalb des Plugins kann unterschieden werden, ob in allen oder nur in bestimmten WordPress-Tabellen gesucht und ersetzt werden soll.

Im Prinzip macht das Plugin das gleiche wie die oben genannten SQL-Statements. Ob man die bequemere Oberfläche oder die größere Freiheit beim direkten Schreiben von SQL-Statements bevorzugt, ist Geschmackssache und von Fall zu Fall zu unterscheiden.

Custom CSS im WordPress-EditorWer den normalen WordPress-Editor zum schreiben seiner Artikel nutzt, wird das Problem kennen. Im Editor (also im WordPress-Backend) sieht der verfasste Content immer anders aus, als nach der Veröffentlichung des Artikels im Blog.

Hier hilft es nur, regelmäßig den „Vorschau“-Button zu klicken und dann im Editor den Artikel solange zu überarbeiten, bis der Content am Ende im Frontend/Blog so aussieht, wie er aussehen soll.

Tatsächlich geht es jedoch viel einfacher. Mittels folgendem Trick, lässt sich das WordPress Frontend-Stylesheet (also jenes, welches im öffentlichen Bereich eures Blogs ausgeliefert wird) auch im WordPress-Backend einbinden.

WordPress-Stylesheet im Backend einbinden

Um das Frontend-Stylesheet des jeweiligen Themes im Backend/Editor einzubinden, ist folgender Code nötig. Dieser kann direkt in der functions.php des verwendeten WordPress-Themes eingebunden werden.

Mittels der add_editor_style()-Funktion kann ein weiteres Stylesheet in das Editor-View geladen werden. Mittels der get_stylesheet_uri()-Funktion rufen wir die URL des Stylesheets ab, welche mit dem verwendeten Theme mitgeliefert wird.

Beliebiges Stylesheet im WordPress-Editor

Um nun ein beliebiges Stylesheet in der WordPress-Editor-Ansicht mitzuladen, muss das obige Beispiel nur in einer Zeile angepasst werden. Genauer gesagt, muss die get_stylesheet_uri()-Funktion durch einen String mit der Pfadangabe des Themes ersetzt werden. Hierbei ist darauf zu achten, dass der Pfad relativ zum Pfad der functions.php-Datei angegeben wird.