Benutzer-Werkzeuge

Webseiten-Werkzeuge


wordpress:start

WordPress

WordPress ist eine Blog-Software und einfaches CMS, geschrieben in PHP für MySQL-Datenbanken.

Installation

Die Installation von WordPress ist recht einfach, im folgenden werden daher nur fortgeschrittene Konfigurationen beschrieben, die nicht im jeden Fall notwendig sind.

Cronjob

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:

1. wp-cron in WordPress deaktivieren

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' );

2. Cronjob einrichten

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

Erweiterungen

Typische Erweiterungen

Dies sind Erweiterungen, die bei jeder WordPress-Installation zum Einsatz kommen können/sollten, egal welche weiteren Funktionen die Seite benötigt:

  • AntiSpam Bee: Automatisches Erkennen und Entfernen von Spam-Kommentaren. Gute Alternative zum Standard-Plugin Akismet, das ohne Registrierung funktioniert und deutschen Datenschutzrichtlinien entspricht.
  • Jetpack: Stellt viele hilfreiche Funktionen zur Verfügung, die oft gewünscht und sonst nur über viele zusätzliche Plugins hinzugefügt werden können. Nachteil: Es wird ein Account bei WordPress.com benötigt und die Seite muss mit dem Account verknüpft werden.

Weitere Erweiterungen

Social Media

  • Social: Beim Veröffentlichen eines Beitrags automatisch einen Tweet und/oder einen Facebook-Status veröffentlichen, sowie Reaktionen bei Twitter und Facebook auslesen.
  • WP To Twitter: Nachdem Veröffentlichen eines Beitrags automatisch einen Tweet veröffentlichen.

Statistik

  • WP-Piwik: WordPress mit der Open-Source-Statistik-Software Piwik verbinden, sodass Besucher mit Piwik erfasst und im WordPress-Backend Piwik-Statistiken angezeigt werden können.

Mehrsprachigkeit

Entwicklung

  • Advanced Custom Fields (ACE): Ermöglicht einfaches und komfortables Erstellen von beliebigen Eingabe-Feldern für Beiträge, Seiten, etc. im WordPress-Backend. Ein quasi Must-have bei selbst-entwickelten Seiten.

Themes

Empfehlenswerte Themes

Allgemein

Einzelne Themes

Boilerplats

Child Themes

Child 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.

WordPress Codex: Child Themes

Vorgehensweise

  1. Child Theme nach Anleitung im WordPress Codex erstellen.
  2. Änderungen am CSS oder am Template des Themes vornehmen (siehe unten).
Bei CSS-Änderungen

Bei Änderungen am CSS können die Änderungen einfach direkt in die styles.css des Child-Themes geschrieben werden.

Bei Template-Änderungen
  1. Bei Änderungen an Templates muss zunächst der entsprechende Template-Teil des Hauptthemes, z.B. die header.php oder footer.php, in den Ordner des Child-Themes kopiert werden.
  2. In dem kopierten Template-Teil kann dann einfach die Änderung vorgenommen werden.

Die geänderten Template-Teile des Child-Themes werden dann anstelle der Template-Teile des Hauptthemes geladen.

Theme-Entwicklung

Seiten-Templates

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.

JavaScript auf jQuery-Basis einfügen

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.

Text-Bereinigen, Zeilenumbrüche erhalten

$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?

Internationalisierung

Funktionen

Entwicklung

Widgets

Plugins

Tutorials

Boilerplate

Posts

Funktionen

  • the_author_posts_link()
    Link zur Autoren-Seite

Post-Status

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

Quelle: WordPress Codex: get_post_status()

Migration

Die Migration einer WordPress-Website funktioniert am erfahrungsgemäß am einfachsten über folgenden Weg:

  1. Sicherung der Dateien auf dem alten Server bzw. Test-Server
  2. Sicherung der Datenbank auf dem alten Server bzw. Test-Server als unkomprimierte SQL-Datei
    Siehe: WordPress Codex: Backing Up Your Database: Using phpMyAdmin
  3. Suchen- und Ersetzen der alten Adresse, bspw. http://example.local, durch die neue, z.B. http://www.example.com, in einem Text-Editor
  4. Upload der gesicherten Dateien auf den neuen Server
  5. Upload der geänderten SQL-Datenbank
  6. Ggf. Anpassen der Datei wp-config.php zur neuen Datenbank-Konfiguration

Die Website funktioniert i.d.R. ad-hoc auf dem neuen Server.

Bekannte Probleme

Verlust von Text-Widgets

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.

Fehler beim Datenbank-Import: "#1273 – Unknown collation: ‘utf8mb4_unicode_ci’"

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

Tutorials

Kostenpflichtige Tutorials

wordpress/start.txt · Zuletzt geändert: 2021-04-29 15:06 von a.kamola