WordPress ist eine Blog-Software und einfaches CMS, geschrieben in PHP für MySQL-Datenbanken.
Die Installation von WordPress ist recht einfach, im folgenden werden daher nur fortgeschrittene Konfigurationen beschrieben, die nicht im jeden Fall notwendig sind.
WordPress kommt mit einem eigenen Werkzeug, das regelmäßige Aufgaben übernimmt, wie z. B. das Überprüfen ob geplante Beiträge veröffentlicht werden sollen: wp-cron. Dieses Werkzeug ist an die Funktionsweise von Cronjobs angelehnt, wird jedoch nur aufgerufen, wenn jemand die Website besucht. Bei größeren Websites (oder auch bei Webshops mit WooCommerce) und vielen Wartungsaufgaben kann dies die Website verlangsamen. Hierbei empfiehlt es sich nun, wp-cron auf echte Cronjobs umzustellen:
Zuerst sollte der Aufruf von wp-cron durch Website-Besucher deaktiviert werden. Dies geschieht durch das einfügen folgender Zeile in die Datei wp-config.php
:
define( 'DISABLE_WP_CRON', 'true' );
Nun muss ein echter Cronjob auf dem Server eingerichtet werden, der die Datei wp-cron.php
aufruft. Dies geschieht je nach Webhoster über den Kunden-Administrationsbeich oder das Terminal.
Der Befehl zum Aufruf von wp-cron durch den Cronjob kann bspw. so aussehen:
php /path/to/htdocs/wordpress/wp-cron.php
Dies sind Erweiterungen, die bei jeder WordPress-Installation zum Einsatz kommen können/sollten, egal welche weiteren Funktionen die Seite benötigt:
.html
anChild Themes sind eine elegante Möglichkeit bestehende Themes zu verändern oder zu erweitern, ohne das Theme direkt zu bearbeiten. Dadurch können z.B. Themes problemlos aktualisiert werden, ohne das die eigenen Änderungen verloren gehen.
Bei Änderungen am CSS können die Änderungen einfach direkt in die styles.css
des Child-Themes geschrieben werden.
header.php
oder footer.php
, in den Ordner des Child-Themes kopiert werden.Die geänderten Template-Teile des Child-Themes werden dann anstelle der Template-Teile des Hauptthemes geladen.
Um ein eigenes Seiten-Template zu erstellen, muss im Template-Verzeichnis nur eine neue Datei erzeugt werden (z.B. foobar.php
) und am Anfang der Datei folgender Kommentar für WordPress stehen:
/*
* Template Name: FooBar
*/
Dann lässt sich beim Erstellen einer Seite in der Spalte rechts das Template „FooBar“ auswählen.
Um ein JavaScript, das auf dem Framework jQuery basiert, zu einem Template hinzuzufügen, sollte die Funktion wp_enqueue_script
verwendet werden:
<?php wp_enqueue_script( 'name-of-the-javascript', get_stylesheet_directory_uri() . '/app.js', array( 'jquery' ) ); ?>
Nach Best-Practice sollten alle JavaScripts in der functions.php
per wp_enqueue_script
im Theme hinzugefügt werden. Für Tests, Theme- oder Komponenten-Entwicklung funktioniert die Funktion allerdings auch außerhalb der functions.php
.
$fake_newline = '--OMGKEEPTHISNEWLINE--'; # or some unique string $escaped_newlines = str_replace("\n", $fake_newline, $_POST['message']); $sanitized = sanitize_text_field($escaped_newlines);
Quelle: Stack Overflow: How to sanitize multi-line text from a textarea without losing line breaks?
the_author_posts_link()
Status von Posts bzw. Seiten:
Status | Erklärung |
---|---|
publish | Eine veröffentlichter Post |
pending | Ein zu moderierender/rezensierender Post |
draft | Ein Entwurf |
auto-draft | Ein automatisch gespeicherter, neuer Post (ohne Inhalt) |
future | Ein Post, der zu einem späteren Zeitpunkt veröffentlicht wird |
private | Ein nicht-öffentlicher/privater Post |
inherit | Eine automatisch gespeicherte Revision |
trash | Ein Post im Papierkorb |
Die Migration einer WordPress-Website funktioniert am erfahrungsgemäß am einfachsten über folgenden Weg:
http://example.local
, durch die neue, z.B. http://www.example.com
, in einem Text-Editorwp-config.php
zur neuen Datenbank-KonfigurationDie Website funktioniert i.d.R. ad-hoc auf dem neuen Server.
Erstellte Text-Widgets werden aus bisher ungeklärten Gründen nicht mehr angezeigt.
Workaround: Die Text-Widgets müssen auf der neuen Seite neu erstellt werden.
WordPress nutzt, wenn die MySQL-Datenbank aktuell genug ist, den neueren Zeichensatz („Collation“) utf8mb4_unicode_ci
, der allerdings bei älteren MySQL-Datenbanken nicht zur Verfügung steht.
Workaround: Alle Datenbank-Tabellen und -Felder mit der eingestellten Collation utf8mb4_unicode_ci
müssen umgestellt werden auf utf8_general_ci
.
Quelle: WordPress Support: SQL error when importing database