Benutzer-Werkzeuge

Webseiten-Werkzeuge


wordpress:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wordpress:start [2015-04-04 15:40] – [Entwicklung] "WordImpress: WordPress Page Loading Lifecycle Visual Graphic" eingefügt a.kamolawordpress:start [2021-04-29 15:06] (aktuell) – [Entwicklung] "WordPress REST API" eingefügt a.kamola
Zeile 2: Zeile 2:
  
 //WordPress// ist eine Blog-Software und einfaches [[lexikon:cms|CMS]], geschrieben in [[php:start|PHP]] für [[mysql:start|MySQL-Datenbanken]]. //WordPress// ist eine Blog-Software und einfaches [[lexikon:cms|CMS]], geschrieben in [[php:start|PHP]] für [[mysql:start|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 [[unix:cron|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'':
 +
 +<code php>
 +define( 'DISABLE_WP_CRON', 'true' );
 +</code>
 +
 +=== 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 [[lexikon:cli|Terminal]].
 +
 +Der Befehl zum Aufruf von //wp-cron// durch den Cronjob kann bspw. so aussehen:
 +
 +<code bash>
 +php /path/to/htdocs/wordpress/wp-cron.php
 +</code>
  
 ===== Erweiterungen ===== ===== Erweiterungen =====
Zeile 17: Zeile 43:
   * [[http://wordpress.org/plugins/breadcrumb-navxt/|Breadcrumb NavXT]]   * [[http://wordpress.org/plugins/breadcrumb-navxt/|Breadcrumb NavXT]]
   * [[https://wordpress.org/plugins/contact-form-7/|Contact Form 7]]: Kontakt-Formular für WordPress   * [[https://wordpress.org/plugins/contact-form-7/|Contact Form 7]]: Kontakt-Formular für WordPress
 +  * [[https://de.wordpress.org/plugins/custom-sidebars/|Custom Sidebars]]
 +  * [[https://wordpress.org/plugins/html-on-pages/|.html On Pages]]: Fügt an URLs zu Seiten die Endung ''.html'' an
 +  * [[https://wordpress.org/plugins/kimili-flash-embed/|Kimili Flash Embed]]: Flash-Elemente einbinden
 +  * [[https://getshortcodes.com/|Shortcodes Ultimate]]
 +  * [[https://wordpress.org/plugins/wordpress-importer/|WordPress Importer]]
  
 === Social Media === === Social Media ===
Zeile 29: Zeile 60:
 === Mehrsprachigkeit == === Mehrsprachigkeit ==
  
 +  * [[https://wordpress.org/plugins/loco-translate/|Loco Translate]]: Übersetzungen für Themes und Plugins erstellen
 +  * [[https://wordpress.org/plugins/multilanguage/|Mulilanguage]]
   * [[http://wordpress.org/plugins/multisite-language-switcher/|Multisite Language Switcher]]   * [[http://wordpress.org/plugins/multisite-language-switcher/|Multisite Language Switcher]]
  
Zeile 38: Zeile 71:
 ===== Themes ===== ===== Themes =====
  
 +==== Empfehlenswerte Themes ====
 +
 +=== Allgemein ===
 +
 +  * Standard-Themes (Twenty-Reihe)
 +  * [[http://www.elmastudio.de/themes/|Themes von Elmastudio]]
 +
 +=== Einzelne Themes ===
 +
 +  * [[http://independentpublisher.me/|Independent Publisher]]
 +  * [[http://dimsemenov.com/themes/touchfolio/|Touchfolio]]
 ==== Boilerplats ==== ==== Boilerplats ====
  
Zeile 83: Zeile 127:
 Dann lässt sich beim Erstellen einer Seite in der Spalte rechts das Template "FooBar" auswählen. 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:start|JavaScript]], das auf dem [[lexikon:framework|Framework]] [[jquery:start|jQuery]] basiert, zu einem Template hinzuzufügen, sollte die Funktion ''wp_enqueue_script'' verwendet werden:
 +
 +<code php>
 +<?php
 +wp_enqueue_script(
 + 'name-of-the-javascript',
 + get_stylesheet_directory_uri() . '/app.js',
 + array( 'jquery' )
 +);
 +?>
 +</code>
 +
 +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 ===
 +
 +<code php>
 +$fake_newline = '--OMGKEEPTHISNEWLINE--'; # or some unique string
 +$escaped_newlines = str_replace("\n", $fake_newline, $_POST['message']);
 +$sanitized = sanitize_text_field($escaped_newlines);
 +</code>
 +
 +Quelle: [[http://stackoverflow.com/a/20444149|Stack Overflow: How to sanitize multi-line text from a textarea without losing line breaks?]]
 ===== Internationalisierung ===== ===== Internationalisierung =====
  
   * [[http://code.tutsplus.com/tutorials/how-to-localize-wordpress-themes-and-plugins--wp-22779|Tuts+: How To Internationalize WordPress Themes And Plugins]]   * [[http://code.tutsplus.com/tutorials/how-to-localize-wordpress-themes-and-plugins--wp-22779|Tuts+: How To Internationalize WordPress Themes And Plugins]]
 +
 +==== Funktionen ====
 +
 +  * [[https://codex.wordpress.org/Function_Reference/_2|__( $text, $domain )]]\\ Text übersetzen ohne ihn direkt auszugeben
 +  * [[https://codex.wordpress.org/Function_Reference/_e|_e( $text, $domain )]]\\ Text übersetzen und direkt ausgeben
  
 ===== Entwicklung ===== ===== Entwicklung =====
Zeile 91: Zeile 165:
   * [[http://codex.wordpress.org/Conditional_Tags|WordPress Codex: Conditional Tags]]   * [[http://codex.wordpress.org/Conditional_Tags|WordPress Codex: Conditional Tags]]
   * [[https://wordimpress.com/the-wordpress-page-lifecycle-visual-graphic/|WordImpress: WordPress Page Loading Lifecycle Visual Graphic]]   * [[https://wordimpress.com/the-wordpress-page-lifecycle-visual-graphic/|WordImpress: WordPress Page Loading Lifecycle Visual Graphic]]
 +
 +  * [[wordpress:rest:start|WordPress REST API]]
 +
  
 ==== Widgets ==== ==== Widgets ====
Zeile 108: Zeile 185:
  
 ==== Posts ==== ==== Posts ====
 +
 +=== Funktionen ===
 +
 +  * ''the_author_posts_link()''\\ Link zur Autoren-Seite
  
 === Post-Status === === Post-Status ===
Zeile 124: Zeile 205:
  
 Quelle: [[http://codex.wordpress.org/Function_Reference/get_post_status|WordPress Codex: get_post_status()]] Quelle: [[http://codex.wordpress.org/Function_Reference/get_post_status|WordPress Codex: get_post_status()]]
 +
 +===== Migration =====
 +
 +Die Migration einer WordPress-Website funktioniert am erfahrungsgemäß am einfachsten über folgenden Weg:
 +
 +  - Sicherung der Dateien auf dem alten Server bzw. Test-Server
 +  - Sicherung der Datenbank auf dem alten Server bzw. Test-Server als unkomprimierte SQL-Datei\\ Siehe: [[https://codex.wordpress.org/Backing_Up_Your_Database#Using_phpMyAdmin|WordPress Codex: Backing Up Your Database: Using phpMyAdmin]]
 +  - Suchen- und Ersetzen der alten Adresse, bspw. ''http://example.local'', durch die neue, z.B. ''http://www.example.com'', in einem Text-Editor
 +  - Upload der gesicherten Dateien auf den neuen Server
 +  - Upload der geänderten SQL-Datenbank
 +  - 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: [[https://wordpress.org/support/topic/sql-error-when-importing-database-1?replies=1|WordPress Support: SQL error when importing database]]
  
 ===== Links ===== ===== Links =====
Zeile 129: Zeile 237:
   * [[https://wordpress.org/|WordPress]]   * [[https://wordpress.org/|WordPress]]
   * [[http://codex.wordpress.org/|WordPress Codex]]   * [[http://codex.wordpress.org/|WordPress Codex]]
 +  * [[http://capsicummediaworks.com/killer-wordpress-checklist/|Capsicum Mediaworks: Killer WordPress Checklist]]
   * [[http://queryposts.com/|QueryPosts]]   * [[http://queryposts.com/|QueryPosts]]
   * [[http://adambrown.info/p/wp_hooks/hook|Übersicht über alle Wordpress-Hooks]]   * [[http://adambrown.info/p/wp_hooks/hook|Übersicht über alle Wordpress-Hooks]]
Zeile 138: Zeile 247:
  
   * [[https://www.video2brain.com/de/videotraining/wordpress-fuer-redakteure|video2brain: WordPress für Redakteure]]   * [[https://www.video2brain.com/de/videotraining/wordpress-fuer-redakteure|video2brain: WordPress für Redakteure]]
 +  * [[https://www.video2brain.com/de/videotraining/wordpress-plug-ins-crashkurs|video2brain: WordPress Plug-ins – Crashkurs]]
 +  * [[https://www.video2brain.com/de/videotraining/wordpress-sicher-aktualisieren|video2brain: WordPress sicher aktualisieren]]
 +  * [[https://www.video2brain.com/de/videotraining/wordpress-themes-mit-bootstrap|video2brain: WordPress-Themes mit Bootstrap]]
wordpress/start.1428154830.txt.gz · Zuletzt geändert: 2015-04-04 15:40 von a.kamola