Slim Maintenance Mode läuft jetzt auch mit WordPress Block Themes.
Slim Maintenance Mode läuft jetzt auch mit WordPress Block Themes.
David Bushell analysiert ausführlich, warum der Block-Editor eine schlechte Idee für die Zukunft von WordPress sein könnte.
This is the antithesis of how CMS templating should work.
altedomain.tld soll in neuedomain.tld geändert werden. Zunächst die wp-config.php im WordPress-Stammverzeichnis anpassen.
define('DOMAIN_CURRENT_SITE', 'neuedomain.tld');
Dann Veränderungen in der MySQL-Datenbank vornehmen.
Anschließend in den Inhalten (Seiten, Beiträge) entweder via Hand in der MySQL-Datenbank oder mit einem Plugin zum Suchen und Ersetzen von Text die URIs (auch zu eingebundenen Medien) verändern.
div {
font: caption;
}
font: caption verwendet die Systemschriftart für den angesprochenen Container.
In der Theme-Entwicklung kann es interessant sein, das Widget Schlagwörter-Wolke anzupassen. Dabei stehen die gleichen Parameter zu Verfügung, wie wenn die Wolke via wp_tag_cloud
in das Theme integriert wird. In diesem Beispiel wird die Anzahl der Schlagwörter auf 24 begrenzt.
add_filter( 'widget_tag_cloud_args' , 'tag_cloud_args' );
function tag_cloud_args($args) {
$args = array( 'number' => 24 );
return $args;
}
Die Icons im Administrationsbereich von WordPress entstammen seit Version 3.8 einer eigenen Schriftart, die unter GPL lizenziert ist. Die Dashicons lassen sich nicht nur bei der Pluginentwicklung für das Backend, sondern auch im Frontend einsetzen.
functions.php
add_action( 'wp_enqueue_scripts', 'load_dashicons_front_end' );
function load_dashicons_front_end() {
wp_enqueue_style( 'dashicons' );
}
Alternativ kann wp_enqueue_style( 'dashicons' );
in den bereits bestehenden Hook des Themes eingebunden werden.
style.css
Einbinden des WordPress-Logos vor allen Überschriften erster Ebene <h1>
.
h1:before {
content: "\f120";
display: inline-block;
-webkit-font-smoothing: antialiased;
font: normal 1em 'dashicons';
vertical-align: top;
}
<?php
/**
* Plugin Name: Beispiel Plugin
* Plugin URI: http://domain.tld/beispiel-plugin/
* Description: Mit diesem Beispiel Plugin wird der Plugin-Header erklärt.
* Version: 0.1
* Author: Vorname Nachname
* Author URI: http://domain.tld
* Text Domain: beispiel-plugin
* Domain Path: /languages
* License: GPL2 or later
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
*/
/**
* GPL2 License Text
Copyright JAHR VORNAME NACHNAME E-MAIL-ADRESSE
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2, as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* Avoid direct calls
*/
defined('ABSPATH') or die("No direct requests for security reasons.");
?>
Die Datei wp-config.php ist zentral für weitgehende Einstellungen. Sofern SSL verfügbar ist, kann aus Sicherheitsgründen der Login über eine SSL-Verbindung erzwungen werden. Gleiches kann für die gesamte Nutzung des Administrationsbereichs festgelegt werden. Das Intervall zur automatischen Speicherung, dass normalerweise bei 60 Sekunden liegt und die Tage die vergehen, bis ein Beitrag endgültig aus dem Papierkorb gelöscht wird, können angepasst werden. WordPress speichert außerdem automatisch jede Version eines Beitrags, die abgespeichert wird. Dies kann die Datenbank unnötig anwachsen lassen und ebenfalls konfiguriert werden.
// Login via SSL erzwingen (Standard: false)
define('FORCE_SSL_LOGIN', true);
// Adminbereich nur über SSL nutzen (Standard: false)
define('FORCE_SSL_ADMIN', true);
// Bearbeiten von Theme- und Plugindateien im Administrationsbereich verbieten (Standard: false)
define('DISALLOW_FILE_EDIT', true);
// Installation und Aktualisierung von Themes und Plugins verbieten (Standard: false)
define('DISALLOW_FILE_MODS', true);
// Intervall für automatisches Speichern in Sekunden (Standard: 60).
define('AUTOSAVE_INTERVAL', 120 );
// Intervall für endgültiges Löschen von Beiträgen in Tagen (Standard: 30).
define('EMPTY_TRASH_DAYS', 14);
/**
* Revisionen
* Die automatische Speicherung jeder Version eines Beitrags kann mit
* define('WP_POST_REVISIONS', false ); deaktiviert werden. Alternativ kann
* eine maximale Anzahl festgelegt werden.
*/
define('WP_POST_REVISIONS', 5 );
Das Plugin SyntaxHighlighter Evolved ist eine der Standardlösungen, wenn es um das Formatieren von Quellcode geht. Dieser Weg kann allerdings gehörig auf die Performance drücken. Eine Alternative ist das Codestyling mit dem jeweiligen Theme zu verknüpfen und eine kleinere JavaScript-Bibliothek wie Prism oder highlight.js zu nutzen.
Das Beispiel geht unter Verwendung der Bibliothek Prism davon aus, dass die Dateien prism.js und prism.css im Themeordner abgelegt werden. Außerdem soll der visuelle Editor zum komfortablen Formatieren angepasst werden.
functions.php
// Prism JS und CSS einbinden
function codestyling_scripts_styles() {
wp_register_script( 'prism', get_template_directory_uri() . '/prism.js', '', '0.1', true );
wp_enqueue_script( 'prism' );
wp_register_style( 'prism', get_template_directory_uri() . '/prism.css', false, '0.1', 'screen' );
wp_enqueue_style( 'prism' );
}
add_action( 'wp_enqueue_scripts', 'codestyling_scripts_styles' );
// TinyMCE-Editor anpassen
function mce_mod( $init ) {
$init['block_formats'] = 'Paragraph=p;Pre=pre;Code=code;Heading 2=h2;Heading 3=h3;Heading 4=h4;Blockquote=blockquote';
$style_formats = array(
array( 'title' => 'CSS', 'block' => 'code', 'classes' => 'language-css'),
array( 'title' => 'HTML/XHTML', 'block' => 'code', 'classes' => 'language-markup' ),
array( 'title' => 'PHP', 'block' => 'code', 'classes' => 'language-php' ),
array( 'title' => 'JavaScript', 'block' => 'code', 'classes' => 'language-javascript' ),
array( 'title' => 'HTTP', 'block' => 'code', 'classes' => 'language-http' ));
$init['style_formats'] = json_encode( $style_formats );
return $init;
}
add_filter('tiny_mce_before_init', 'mce_mod');
function mce_add_buttons( $buttons ){
array_splice( $buttons, 1, 0, 'styleselect' );
return $buttons;
}
add_filter( 'mce_buttons_2', 'mce_add_buttons' );
Immer wieder taucht, insbesondere bei Neulingen im Feld, die Frage auf, was denn der Unterschied zwischen WordPress.org und WordPress.com sei oder der Begriff WordPress wird mit einem der beiden Angebote gleichgesetzt.
Zur Begriffsdifferenzierung: WordPress ist eine Software. Sie kann auf WordPress.org heruntergeladen und auf einem eigenen Speicherplatz oder Server installiert werden. Gleichermaßen ist WordPress Grundlage für den Service WordPress.com, der niedrigschwellige bereits voreingerichtete Installationen bietet, die von der Betreiberfirma gewartet wird.
WordPress.org | WordPress.com Anfänger | WordPress.com Premium | WordPress.com Business | |
---|---|---|---|---|
Kosten | Domain + Speicherplatz ab 20 Euro/Jahr | Kostenlos | 80 Euro/Jahr | 240 Euro/Jahr |
Domainname | ab 5 Euro/Jahr (z.B. netcup) | name.wordpress.com | inbegriffen | inbegriffen |
Speicherplatz (Webhosting) | 10GB ab ca. 20 Euro/Jahr (z.B. netcup oder uberspace) / Mindestvorraussetzungen | 3GB | 13GB | Unbegrenzt |
Plugins (erweiternde Funktionen) | frei installierbar (z.B. ~ 32.000 aus dem WordPress.org Plugin-Verzeichnis) | rund 20 vorinstallierte Plugins | rund 20 vorinstallierte Plugins | rund 20 vorinstallierte Plugins |
Themes | frei installierbar (z.B. ~ 3.000 aus dem WordPress.org Theme-Verzeichnis) | Auswahl aus rund 300 Themes, keine Anpassung möglich | Auswahl aus rund 300 Themes, Anpassung möglich | Auswahl aus rund 300 Themes, Anpassung möglich |
individuelles Theme | installierbar | nicht installierbar | nicht installierbar | nicht installierbar |
Theme-Konfiguration über functions.php | möglich | nicht möglich | nicht möglich | nicht möglich |
Zugriff auf alle Dateien (WordPress, Plugins, Themes, Medien) via SFTP oder SSH | ja | nein | nein | nein |
Hilfestellungen (Support) | über einschlägige Foren und in der Regel auch über den Webhosting-Anbieter | über einschlägige Foren | E-Mail-Support | Chat |
Werbeanzeigen | Nein | Ja | Nein | Nein |
Wartungsarbeiten | automatische Aktualisierung möglich; eigene Verantwortung für Sicherheit und Funktion | durch die Betreiber von WordPress.com | durch die Betreiber von WordPress.com | durch die Betreiber von WordPress.com |
WordPress.org | WordPress.com Anfänger | WordPress.com Premium | WordPress.com Business |
Es gibt neben WordPress.com weitere Anbieter, die vorinstallierte Installationen mit begrenztem Gestaltungsspielraum anbieten. Das Prinzip unterscheidet sich dann unwesentlich, bei der Preisgestaltung und den Funktionen kann es Unterschiede geben. Der für die Variante der selbstinstallierten Software angegebene Preis kann erheblich abweichen, je nachdem ob die Website zum Beispiel sehr hohe Zugriffszahlen verzeichnet oder nicht.