Logo von Mediengestaltung Torsten Kelsch

Beitragsbild ins WordPress-Theme einbauen

Wer WordPress-Themes selber erstellt, wird vielleicht eine Möglichkeit, Beitragsbilder einsetzen zu können, in ihr oder sein Theme einbauen wollen. Ich persönlich bevorzuge es, recht kleine Beitragsbilder lediglich auf der Blogstartseite, also der Übersicht, anzuzeigen, aber nicht in den einzelnen Artikeln – dort arbeite ich lieber mit größeren Bildern, die ich in den Text einfüge.
Ganzen Artikel lesen, Kommentar hinterlassen →

Neue Funktionen von minim

Anfang April 2018 ist die Version 0.5.0.1 von minim, einem datenbanklosen Blogsystem, erschienen, und sie bietet einige Verbesserungen gegenüber der Version, die ich im Oktober 2017 getestet und über die ich geschrieben hatte. Ich habe damals die mangelnde SEO-Fähigkeit und den spärlichen Adminbereich bemängelt, auch wenn mir minim aufgrund seiner Schlankheit und einfachen Bedienbarkeit gut gefiel.
Ganzen Artikel lesen, Kommentar hinterlassen →

Reguläre Ausdrücke in Antispam Bee verwenden

Antispam Bee ist ein beliebtes Plugin für WordPress. Man kann wirklich sagen, dass es sich hierbei um eine fleißige Biene im Bereich der Bekämpfung von Spam-Kommentaren handelt. Es lassen sich diverse Filterkriterien ein- oder ausschalten und konfigurieren.

Besonders mächtig sind die sogenannten Regulären Ausdrücke oder Regular Expressions, denn damit kann man Spam anhand von selbst festgelegten bösen Wörtern im Absender, der angegebenen Webadresse oder im Kommentartext ausfiltern.

Ganzen Artikel lesen, Kommentar hinterlassen →

Lösung: concrete5 in Version 8 unter PHP 7

Im vorigen Artikel, Concrete5 in Version 8.x läuft nicht unter PHP 7, hatte ich beschrieben, dass ich bei einem bestimmten Webhoster concrete5 in den aktuellen Achter-Versionen unter PHP 7 nicht ans Laufen kriege. Nach Inanspruchnahme des Supports von Webhoster.de AG fiel bei mir endlich der Groschen, sodass ich heute die Lösung präsentieren kann:

Im Plesk-Backend hat man die Möglichkeit, bestimmte PHP-Einstellungen zu verändern. Wichtig im Falle des im vorigen Artikel beschriebenen Problems ist die Einstellung session.save_path. Läuft die Website unter concrete5 8 und PHP 7, muss hier stehen: {WEBSPACEROOT}{/}{:}{TMP}{/}

Concrete5, Version 8, session.save_path

Unter concrete5 6 und PHP 5 muss hingegen eingetragen sein: /var/lib/php/session

Concrete5, Version 6, session.save_path

Bei anderen Webhostern gibt es möglicherweise andere Lösungswege, vielleicht wird als Backend etwas anderes als Plesk eingesetzt, und oft kann man als Kunde auch gar nichts an den PHP-Einstellungen ändern. Dann muss man Kontakt zum Support aufnehmen.

Zu bemerken wäre noch, dass nach meinen Erfahrungen concrete5 6 nicht mit PHP 7 läuft, sondern nur mit PHP 5; concrete5 7 hingegen müsste mit PHP 7 laufen. Allerdings sollte man am besten auf den aktuellen Zweig 8 von concrete5 umstellen – dies ist die fortschrittlichste und leistungsfähigste Version und wird ständig weiterentwickelt.

Concrete5 in Version 8.x läuft nicht unter PHP 7

Nachtrag: Inzwischen habe ich eine Lösung gefunden, die ich im Artikel Lösung: concrete5 in Version 8 unter PHP 7 vorstelle.


Wahrscheinlich hängt es vom Webhoster und dessen Einstellungen ab, aber bei einem bestimmten Hoster kriegte ich concrete5 in den aktuellen Versionen 8.x und unter PHP 7.x nicht ans Laufen. Es erschien beim Installationsversuch die Fehlermeldung:
is_dir(): open_basedir restriction in effect. File(/var/lib/php/session) is not within the allowed path(s): (/var/www/vhosts/[…]/:/tmp/).

Nun existiert zwar eine Lösung hierfür. Bei der Installation gibt man an, dass die Sessions nicht in Dateien, sondern in der Datenbank gespeichert werden sollen:


Concrete 5 Version 8, Session-Handler Datenbank

(Aufs Bild klicken zum Vergrößern)

Zusätzlich erstellt man eine Datei namens concrete.php, schreibt dort das Folgende hinein und lädt sie nach /application/config hoch:

<?php
return array(
    'session' => array(
    'handler' => 'database'
    )
);

Doch das half in einem meiner Fälle auch nicht; concrete5 ließ sich einfach nicht installieren, sondern erst dann, als ich auf die ältere PHP-Version 5.6.32 umgeschaltet hatte.

Es war auch schon einmal vorgekommen, dass mit den oben genannten Workarounds concrete5 sich zwar nicht in ein Unterverzeichnis und auch nicht in eine Subdomain installieren ließ, jedoch in den Hauptbereich. Warum mal dieses, mal jenes und mal gar nichts funktioniert, noch zumal bei demselben Webhoster, will sich mir einfach nicht erschließen. Ich erkenne kein Muster. Und nach mehrmaligen stundenlangen Fummeleien schwindet natürlich auch so langsam meine Begeisterung für dieses CMS.

WordPress-Plugin 2J Gallery zerschießt Text

Das Galerie-Plugin 2J Gallery für WordPress führte in meiner Testumgebung dazu, dass die Absätze, die im WordPress-Editor eingegeben worden waren, im Frontend nicht mehr angezeigt wurden. Ein Blick in den Quelltext zeigte, dass das Element <p></p> im gesamten Blog völlig fehlte, weswegen also auch keine Absätze gebildet wurden. ›Nicht gut‹, dachte ich mir. Die Deinstallation des Plugins ließ die Texte wieder normal aussehen.

Minim, ein datenbankloses Blogsystem

Kürzlich habe ich ein sehr schlankes, ja geradezu minimalistisches Blog-Management-System gefunden, das vermutlich noch recht neu ist, und es nennt sich minim – der Name ist offensichtlich Programm. Es ist in PHP programmiert, datenbanklos, lizenzkostenfrei verwendbar und quelloffen. Jeder, der über genügend PHP-Programmierkenntnisse verfügt, kann minim also an seine Bedürfnisse anpassen oder weiterentwickeln (und in solcher erweiterten Fassung auch wieder der Gemeinschaft zuführen).

minim-Logo

Nachtrag: Es gibt einen neueren, ergänzenden Artikel zu minim.

Wie verwendet man minim?

Es gibt zwar ein Backend, das man bei Bedarf in der Datei config.php aktivieren kann, aber im Backend findet man keinen Editor, mit dem man seine Blogartikel schreiben könnte (man kann nur wenige Dinge tun wie etwa Artikel löschen). Statt dessen benutzt man einen lokalen Reintext-, Markdown- oder HTML-Editor, speichert den erstellten Blogbeitrag lokal ab und lädt die Datei im Markdown-Format und mit der Dateiendung .md per FTP in das Verzeichnis entries hoch. Am besten vergibt man als Dateinamen Nummern oder kalendarische Angaben wie Y-m-d; die Artikel werden nämlich anhand der Dateinamen absteigend sortiert.

Ein RSS-Feed wird automatisch erstellt und ist erreichbar, indem man an den URL /?rss anhängt (oder falls minim in einem Unterverzeichnis installiert ist, eben /minim/?rss). Ich habe testweise einen solchen Feed abonniert (in Thunderbird), und er wird einwandfrei erkannt und angezeigt.

Wer braucht denn minim?

Zu Recht könnte man fragen, ob minim nicht einfach nur ein neues, datenbankloses Blogsystem ist, das von der Welt nicht gebraucht wird. Und, zugegeben, es ist sicherlich nichts für Leute, die sich die üblichen Blog-Funktionalitäten wünschen.

Suchmaschinen-Optimierung dürfte mit minim unmöglich sein. Die URLs werden gebildet durch solche schrecklichen Dinge wie /?entry1 – hübsch, suchmaschinenrelevant und benutzerfreundlich kann man das nicht nennen. Und da eine Kommentarfunktion fehlt, dürfte es schwierig werden, eine Blogger-Gemeinschaft mit gegenseitiger Verlinkung aufzubauen.

Ferner vermisst man auch Kategorien und Verschlagwortung, was von vielen Benutzern wohl als zu einem Blog gehörend erachtet wird. Doch vielleicht kommen in folgenden Versionen ja solche Funktionen noch nach und nach dazu.

Dennoch: Ich meine, auch so ein extrem schlankes Blogsystem hat seine Daseinsberechtigung. Im Falle eines privaten, persönlichen Blogs ist nicht jedem die Auffindbarkeit in den Suchmaschinen wichtig. Vielleicht soll es ja noch nicht einmal öffentlich sein; man könnte es über Webserver-Einstellungen gegen fremden Zugriff schützen (.htpasswd-Datei im Falle eines Apache-HTTP-Servers). Und natürlich wäre auch ein Tagebuch auf dem lokalen PC denkbar – vorausgesetzt, ein lokaler Webserver und PHP sind installiert.

Aufgesetzt ist minim jedenfalls extrem schnell, und wer sich mit Markdown auskennt, wenn nicht gar mit HTML, kann in Nullkommanichts anfangen, Artikel zu schreiben.

Fazit: In bestimmten Fällen geeignet.


Fatal error: Uncaught Error: Call to undefined function twentyeleven_content_nav() in /var/www/ud04_82/html/torstenkelsch.de/blog/wp-content/themes/mediengestaltung-tk/category.php:19 Stack trace: #0 /var/www/ud04_82/html/torstenkelsch.de/blog/wp-includes/template-loader.php(74): include() #1 /var/www/ud04_82/html/torstenkelsch.de/blog/wp-blog-header.php(19): require_once('/var/www/ud04_8...') #2 /var/www/ud04_82/html/torstenkelsch.de/blog/index.php(17): require('/var/www/ud04_8...') #3 {main} thrown in /var/www/ud04_82/html/torstenkelsch.de/blog/wp-content/themes/mediengestaltung-tk/category.php on line 19