Das WordPress Praxishandbuch | 1 |
Über den Autor | 3 |
Impressum | 4 |
Vorwort | 5 |
Inhaltsverzeichnis | 7 |
I WordPress Praxis | 21 |
1Einleitung | 23 |
1.1 Ein kleiner Rückblick: Von 2003 bis heute | 23 |
1.2 Was WordPress nicht ist | 24 |
1.2.1 Schwächen von WordPress | 25 |
1.3 Was das Buch nicht ist (und was es ist) | 26 |
1.3.1 Vertiefung von benachbarten Themengebieten | 27 |
1.3.2 Faible für kostenpflichtige Plug-ins? | 27 |
1.3.3 Brauche ich nach der Lektüre überhaupt noch einen Fachmann? | 28 |
1.4 Was Sie mitbringen dürfen | 28 |
1.5 Über Begrifflichkeiten und den Fachwortschatz | 29 |
1.6 Last, but not least: Was ist neu in der Neuauflage? | 30 |
2Erste Schritte mit WordPress | 31 |
2.1 Tipps zur WordPress-Installation | 31 |
2.1.1 Als Benutzernamen nicht admin wählen! | 31 |
2.1.2 Verwenden Sie ein sicheres Kennwort! | 32 |
2.2 Die Administrationsoberfläche | 32 |
2.3 Das WordPress-Dashboard | 33 |
2.3.1 Das Dashboard nutzen und einrichten | 34 |
2.3.2 Aktualisierungen einsehen und einspielen | 37 |
2.4 Beiträge und Seiten | 38 |
2.4.1 Unterschied zwischen Beiträgen und Seiten | 38 |
2.4.2 Einen neuen Beitrag oder eine Seite erstellen | 39 |
2.4.3 Einen Beitrag oder eine Seite veröffentlichen | 40 |
2.4.4 Ein Dokument zeitgesteuert veröffentlichen | 40 |
2.4.5 Ein Beitragsbild festlegen | 41 |
2.4.6 Seiten verschachteln | 42 |
2.5 Seiten und Beiträge verwalten und organisieren | 43 |
2.5.1 Beiträge im Handumdrehen mit Quickedit bearbeiten | 43 |
2.5.2 Mehrere Beiträge gleichzeitig bearbeiten | 44 |
2.5.3 Den Status von Beiträgen und Seiten überblicken | 45 |
2.6 Den HTML-Editor TinyMCE nutzen | 46 |
2.6.1 Vordefinierte Formate und Überschriften nutzen | 47 |
2.6.2 Inhalt mit Listen auflockern | 48 |
2.6.3 Reintext statt Datenmüll einfügen | 48 |
2.6.4 Textpassagen verlinken | 49 |
2.7 Den HTML-Editor erweitern | 50 |
2.8 Bildergalerien | 51 |
2.9 Dateien zum Download anbieten | 54 |
2.10 Kategorien und Schlagwörter | 56 |
2.10.1 Wozu dienen Kategorien? | 56 |
2.10.2 Kategorien erstellen und zuweisen | 56 |
2.10.3 Bearbeiten von Kategorien | 57 |
2.10.4 Entfernen von Kategorien | 57 |
2.10.5 Schlagwörter/Tags | 58 |
2.10.6 Bearbeiten und Entfernen von Schlagwörtern/Tags | 60 |
2.11 Revisionen | 60 |
2.11.1 Wo finde ich die Revisionen? | 60 |
2.11.2 Revisionen wiederherstellen | 61 |
2.12 Die WordPress-Mediathek | 62 |
2.12.1 Den Überblick behalten mit der Suchfunktion | 62 |
2.12.2 Anzahl der Medienelemente pro Seite erhöhen | 63 |
2.12.3 Die Auswahl einschränken | 63 |
2.12.4 Die Detailansicht anzeigen | 64 |
2.12.5 Bildbearbeitung direkt in WordPress | 65 |
2.12.6 Die Einstellungen der Mediathek festlegen | 67 |
2.13 Widgets | 68 |
2.13.1 Welche Widgets werden von WordPress mitgeliefert? | 68 |
2.13.2 Widgets in den Bereich Inaktive Widgets verschieben | 70 |
2.13.3 Reihenfolge der Widgets ändern | 70 |
2.14 Individuelle Menüs | 70 |
3Plug-ins | 75 |
3.1 Ist ein Plug-in wirklich notwendig? | 75 |
3.2 Installation von Plug-ins | 76 |
3.2.1 Plug-ins installieren über die WordPress-Oberfläche | 76 |
3.2.2 Plug-ins als ZIP-Datei hochladen | 78 |
3.2.3 Plug-ins deaktivieren | 79 |
3.2.4 Plug-ins entfernen | 80 |
3.3 Qualitätskriterien bei der Plug-in-Wahl | 80 |
3.3.1 Welche Erfahrungen haben andere Anwender gemacht? | 81 |
3.3.2 Funktioniert das Plug-in mit der aktuellen WordPress-Version? | 82 |
3.3.3 Wird das Plug-in regelmäßig aktualisiert? | 82 |
3.3.4 Auf wie vielen Installationen läuft das Plug-In? | 83 |
3.3.5 Ist das Plug-in kostenlos, kostenpflichtig oder beides? | 85 |
4Erfolgreich bloggen mit WordPress | 87 |
4.1 Die Kommentarfunktion von WordPress | 87 |
4.2 Optimale Diskussionseinstellungen in WordPress | 88 |
4.2.1 Standardeinstellungen für Beiträge | 88 |
4.2.2 Weitere Kommentareinstellungen | 89 |
4.2.3 Mir eine E-Mail senden, wenn ... | 89 |
4.2.4 Bevor ein Kommentar erscheint ... | 90 |
4.2.5 Kommentarmoderation moderat einsetzen | 90 |
4.2.6 Kommentar-Blacklist | 91 |
4.2.7 Avatare | 91 |
4.3 Diskussionen leiten und Trolle bekämpfen | 92 |
4.3.1 Zuverlässiger Schutz vor Kommentarspam | 92 |
4.3.2 Erweitert | 95 |
4.3.3 Sonstiges | 96 |
4.4 Inhalte multimedial auflockern | 97 |
4.4.1 YouTube-Videos mit wenigen Klicks integrieren | 97 |
4.4.2 Tweets von Twitter integrieren | 98 |
4.4.3 Audiobeiträge von Soundcloud einbetten | 99 |
4.5 Einfaches Teilen von Inhalten ermöglichen | 101 |
4.6 Publizieren von Beiträgen in sozialen Netzwerken | 105 |
4.6.1 Publizieren mit Jetpack und Social Media Auto Publish | 106 |
4.6.2 Automatisches Publizieren ohne Plug-in dank IFTTT | 107 |
4.7 Permalinks | 113 |
4.7.1 Die optimale Struktur: kurz und knackig! | 113 |
4.7.2 Alternative Permalink-Struktur mit Datumsangabe | 114 |
4.7.3 Manuelle Anpassung der Permalinks im Editor | 114 |
4.7.4 Permalink-Struktur später anpassen | 115 |
4.8 Revisionen einmalig entfernen mit WP Optimize | 116 |
4.8.1 Die Einstellungsmöglichkeiten im Überblick | 117 |
4.8.2 Die Wartung ausführen | 118 |
4.8.3 Eine periodische Wartung einrichten | 118 |
4.9 Die wp-config.php tweaken | 119 |
4.9.1 Revisionen zukünftig dauerhaft beschränken | 119 |
4.9.2 Revisionen einschränken | 120 |
4.9.3 Automatische Leerung des Papierkorbs | 120 |
4.9.4 Den Debug-Modus aktivieren zur Fehlerbehebung | 120 |
4.10 WordPress pimpen mit Jetpack | 121 |
4.10.1 Vorteile von Jetpack | 122 |
4.10.2 Nachteile von Jetpack | 122 |
4.10.3 Jetpack ohne WordPress.com-Account nutzen | 123 |
4.10.4 Die Jetpack-Einstellungsoberfläche | 123 |
4.10.5 Die Funktionen von Jetpack im Überblick | 125 |
5WordPress perfekt absichern | 137 |
5.1 Über Benutzernamen und starke Kennwörter | 137 |
5.2 Sichern Sie Ihren FTP-Zugang ab und nutzen Sie FTPS | 138 |
5.3 Nur einen Administrator erstellen | 138 |
5.4 WordPress-Aktualisierungen einspielen | 139 |
5.4.1 Backup vor jeder WordPress-Aktualisierung erstellen | 139 |
5.4.2 Den Plug-in-Entwicklern Zeit lassen | 139 |
5.5 Plug-ins regelmäßig aktualisieren | 140 |
5.5.1 Plug-ins immer einzeln aktualisieren | 140 |
5.6 Aktualisieren Sie PHP und den Serverunterbau | 141 |
5.7 WordPress absichern mit iThemes Security | 141 |
5.7.1 iThemes Security installieren und einrichten | 142 |
5.7.2 Fortgeschrittene Einstellungen anbringen | 143 |
5.7.3 Ausblick und Nachteile von iThemes Security | 149 |
5.8 Meine WordPress-Website wurde gehackt! – Was nun? | 149 |
5.8.1 Ruhe bewahren und Kennwörter ändern | 149 |
5.8.2 Sichern Sie Datenbank und Dateien | 149 |
5.8.3 Suchen Sie im Netz nach anderen potenziellen Opfern | 149 |
5.8.4 Ersetzen Sie die Ordner wp-admin und wp-includes sowie die Wurzeldateien | 150 |
5.8.5 Installieren Sie Sicherheits-Plug-ins wie WP Antivirus | 150 |
5.8.6 Vorsicht beim Zurückspielen von Backups | 150 |
5.8.7 Ultima Ratio: WordPress neu installieren und alte Datenbank verbinden | 150 |
5.8.8 Konsultieren Sie einen WordPress-Fachmann | 151 |
5.9 Fazit | 152 |
6Backups klug und sicher | 153 |
6.1 Die richtige Backup-Strategie | 153 |
6.1.1 Was genau muss gesichert werden? | 153 |
6.1.2 In welchen Abständen muss gesichert werden? | 154 |
6.1.3 Auf welche Medien wird gesichert? | 154 |
6.1.4 Werden die Backups geprüft? | 155 |
6.2 Backups erstellen mit BackWPup | 155 |
6.2.1 Was sollte das ideale Backup-Plug-in beherrschen? | 156 |
6.2.2 Quick-and-dirty: das Ein-Klick-Datenbank-Backup | 158 |
6.2.3 Die Auftragseinstellungen im Überblick | 158 |
6.2.4 Klare Namensgebung eines jeden Backup-Auftrags | 160 |
6.2.5 Wohin mit der Datensicherung? | 160 |
6.2.6 E-Mail-Benachrichtigung | 166 |
6.2.7 Auswahl der zu sichernden Datenbanktabellen | 166 |
6.2.8 Auswahl der zu sichernden Dateien | 167 |
6.2.9 Zeitgesteuerte Backups durch Cronjobs | 167 |
6.2.10 Den Backup-Auftrag speichern und prüfen | 168 |
6.3 Backups wiederherstellen | 169 |
6.3.1 Dateien per FTP wiederherstellen | 169 |
6.3.2 Datenbank wiederherstellen | 169 |
7Die Performance steigern | 171 |
7.1 Das Fundament: der Webserver | 171 |
7.1.1 Webspace für 1 Euro | 171 |
7.1.2 Wie finde ich den idealen Webhoster? | 171 |
7.1.3 Welches Servermodell kommt infrage? | 172 |
7.2 Aufruf einer Website und die Auswirkung auf die Ladezeit | 175 |
7.3 Vorteile einer performanten WordPress-Website | 176 |
7.3.1 Der ungeduldige Surfer | 176 |
7.3.2 Die Bedeutung von Performance für Onlineshops | 176 |
7.3.3 Ladezeit als Qualitätsfaktor für Suchmaschinen | 177 |
7.4 WordPress-Boosting dank Caching | 177 |
7.4.1 Was bedeutet Caching genau? | 177 |
7.4.2 Festplatten-Cache (Page-Cache) | 178 |
7.4.3 Browser-Cache | 178 |
7.4.4 Datenbank-Caching | 179 |
7.5 Caching-Plug-ins für WordPress | 179 |
7.5.1 Das Caching-Plug-in Cachify | 180 |
7.5.2 W3 Total Cache und WP Super Cache | 185 |
7.6 Auswirkung von WordPress-Plug-ins | 187 |
7.7 Performanceanalyse | 187 |
7.7.1 Schnecken-Plug-ins entlarven | 187 |
7.7.2 Google PageSpeed einsetzen | 190 |
7.7.3 Ladezeit analysieren mit Pingdom | 192 |
7.8 Bilder und Grafiken optimieren | 195 |
7.8.1 Bilder beim Upload automatisch skalieren | 195 |
7.8.2 Bilder automatisch nachladen mit Lazy Load | 198 |
8Lokal testen mit WordPress | 199 |
8.1 Grundvoraussetzungen | 199 |
8.1.1 Ein aktuelles Betriebssystem einsetzen | 199 |
8.1.2 Mac, Windows oder Linux? | 199 |
8.1.3 Etwas Grundwortschatz zum Start | 200 |
8.1.4 Muss ich das alles installieren? | 200 |
8.2 Installation der Testumgebung unter Windows | 201 |
8.2.1 Installation von Programm und WordPress | 202 |
8.2.2 Die Startseite des neu installierten Webservers | 206 |
8.2.3 Aufruf der lokalen WordPress-Installation | 207 |
8.3 Installation der Testumgebung unter Mac OS X | 208 |
8.3.1 Aufruf der WordPress-Website in Safari | 208 |
8.4 Der Server-Manager | 209 |
8.5 Mit phpMyAdmin auf die Datenbank zugreifen | 209 |
8.5.1 phpMyAdmin aufrufen | 210 |
8.5.2 Die Datenbank exportieren und sichern | 211 |
8.5.3 Eine neue Datenbank erstellen | 213 |
8.5.4 Tabellen analysieren, reparieren, leeren, löschen ... | 214 |
8.5.5 Eine Datenbank entfernen | 215 |
8.6 Alternativen für flexiblere Testumgebungen | 215 |
8.6.1 WordPress frisch und auf Maß installieren | 216 |
8.6.2 XAMPP und MAMP als weitere Alternativen | 218 |
9WordPress umziehen | 219 |
9.1 Etwas Hintergrundwissen zu Beginn | 219 |
9.1.1 Dateien und Datenbank | 219 |
9.1.2 Dateipfade in der Datenbank | 219 |
9.1.3 Manueller Umzug oder Plug-in-Lösung? | 220 |
9.2 WordPress umziehen ganz einfach mit Duplicator | 220 |
9.2.1 Wie funktioniert Duplicator? | 220 |
9.2.2 Duplicator installieren und aktivieren | 220 |
9.3 WordPress von Hand umziehen ohne Plug-in | 230 |
9.3.1 Alle Dateien auf den neuen Server kopieren | 231 |
9.3.2 Die Datenbank auf dem alten Server sichern | 231 |
9.3.3 Die Datenbank auf den neuen Server laden | 231 |
9.3.4 Die Pfade in der Datenbank umstellen | 232 |
9.3.5 Die neuen Datenbankdaten in die wp-config.php eintragen | 234 |
9.3.6 Administrationsoberfläche aufrufen und Permalinks aktualisieren | 234 |
10Suchmaschinenoptimierung | 235 |
10.1 SEO: Content is King | 235 |
10.2 Die Nachhaltigkeit von SEO-Maßnahmen | 235 |
10.3 Onpage-Optimierung in WordPress | 236 |
10.3.1 Aussagekräftige Beitragstitel | 237 |
10.3.2 Kurze und knappe Beschreibungen nutzen | 237 |
10.3.3 Einsatz von Titeln und Untertiteln: von H1 bis H6 | 237 |
10.3.4 Auflistungen für Übersicht und Ordnung einsetzen | 239 |
10.3.5 Suchbegriffe und Keywords in den Text integrieren | 239 |
10.3.6 Nutzen Sie Querverlinkungen | 240 |
10.3.7 Automatische themenrelevante Querverlinkungen | 241 |
10.3.8 Bilder und Dateien in der Mediathek optimieren | 243 |
10.4 Offpage-Optimierung | 246 |
10.4.1 Backlinks als Empfehlung und Ranking-Kriterium | 246 |
10.5 SEO-Optimierung mit Plug-ins | 247 |
10.5.1 Yoast SEO und All in One SEO Pack | 247 |
10.5.2 Die kostenpflichtige Alternative wpSEO | 247 |
10.5.3 Die kostenlose Alternative Yoast SEO | 256 |
10.6 Monitoring mit der Google Search Console | 265 |
10.6.1 Vorzüge einer Google-Sitemap | 265 |
10.6.2 Einrichten eines Google Search Console-Kontos | 265 |
10.6.3 Eine Google-Sitemap einreichen | 268 |
10.6.4 Weitere Funktionen der Webmaster Tools | 269 |
11Code-Snippets einsetzen | 271 |
11.1 Snippet-Quellen im Netz | 271 |
11.2 Die Basis für Code-Snippets | 271 |
11.2.1 Ordnungshüter der functions.php: Code-Snippets | 272 |
11.3 PHP-Code in statischem Text-Widget ausführen | 274 |
11.4 Ein Favicon der Website hinzufügen | 276 |
11.5 Eigene Farben pro Seite über eine eigene Body-Klasse | 276 |
11.6 Die Suche in WordPress deaktivieren | 277 |
11.7 Die Länge der Kurzbeschreibung verändern | 278 |
11.8 Shortcodes in Text-Widgets erlauben | 278 |
11.9 Den Google Analytics-Code integrieren | 278 |
11.10 Vordefinierter Text bei neuen Beiträgen | 279 |
11.11 E-Mail-Adressen vor Spambots schützen | 279 |
11.12 Standardtext unter jedem Beitrag | 279 |
11.13 Exotische Dateitypen in die Mediathek hochladen | 280 |
11.14 Google Maps mit Shortcodes einbetten | 280 |
11.15 Verlinkungen in Kommentaren verhindern | 282 |
11.16 Social Sharing zu Facebook, Twitter, Xing und Google+ unterhalb von Beiträgen | 282 |
11.17 Automatische Vorschaubilder von externen Websites | 283 |
11.18 PDF-Dateien einbetten und darstellen | 284 |
11.19 Brotkrumennavigation ohne Plug-in | 285 |
11.20 Eigene CSS-Anweisungen hinzufügen | 286 |
11.21 Abonnenten das Lesen privater Beiträge erlauben | 287 |
11.22 Registrierte Benutzer nach Log-in zur Startseite umleiten | 287 |
12Geschützte Bereiche mit WordPress | 289 |
12.1 Passwortgeschützte Bereiche ohne Plug-in | 289 |
12.2 Bereiche nur für eingeloggte User ohne Plug-in | 290 |
12.2.1 Nachteile dieser Variante | 291 |
12.3 Rollen- und Rechteverwaltung in WordPress | 292 |
12.3.1 Die Benutzerverwaltung in WordPress | 292 |
12.3.2 Rollen in WordPress: Wer darf was? | 293 |
12.4 Neue Benutzer hinzufügen | 294 |
12.5 Registrierung über die Website ermöglichen | 294 |
12.5.1 Außenstehenden das Registrieren ermöglichen und Standardrolle eines neuen Benutzers festlegen | 294 |
12.5.2 Das Meta-Widget für Log-in und Registrierung einsetzen | 295 |
12.5.3 Log-in-Formular in die Sidebar einbinden | 295 |
12.5.4 Die Registrierungsprozedur | 295 |
12.6 Multi-Level-Mitgliedschaften mit wenigen Klicks | 298 |
12.6.1 Szenario: Getrennte Bereiche für Vorstand und Mitarbeiter | 298 |
12.6.2 Erstellung der »Mitgliedschaftslevels« | 299 |
12.6.3 Erste Basiseinstellungen | 301 |
12.6.4 Den Zugriff auf Seiten und Beiträge pro Level steuern | 303 |
12.6.5 Zugriff auf Kategorien pro Level steuern | 303 |
12.6.6 Manuelle Mitgliederpflege durch einen Administrator | 304 |
12.6.7 Eigenständige Registrierung auf der Website ermöglichen | 306 |
12.6.8 Eine Log-in-Maske auf der Website einbauen | 309 |
12.6.9 E-Mail-Benachrichtigung einrichten | 310 |
13Statistik und Tracking | 313 |
13.1 Warum Zahlen wichtig sind | 313 |
13.2 Datenschutz und Privatsphäre | 313 |
13.2.1 Stein des Anstoßes: die Speicherung der IP-Adressen | 313 |
13.2.2 Transparenz und Sensibilität | 314 |
13.2.3 Google Analytics datenschutzkonform einsetzen | 314 |
13.3 Datenschutzkonform und einfach: Statify | 315 |
13.3.1 Möglichkeiten und Grenzen von Statify | 315 |
13.3.2 Einsatzgebiete für Statify | 315 |
13.3.3 Installation und Einrichtung | 316 |
13.4 Google Analytics | 318 |
13.4.1 Professionelles Analysetool | 318 |
13.4.2 Einrichtung eines Google Analytics-Kontos | 318 |
13.4.3 Den Tracking-Code in WordPress mit Plug-in einbinden | 322 |
13.4.4 Optionen einrichten und Tracking starten | 324 |
13.4.5 Dashboard-Widgets | 325 |
13.4.6 Google Analytics ohne Plug-in einbinden | 326 |
13.5 Alternativen zu Google Analytics | 326 |
13.5.1 Statistiken von Jetpack | 327 |
13.5.2 Piwik | 327 |
13.5.3 Web Analytics von eTracker | 328 |
14Themes einsetzen | 329 |
14.1 Themes in WordPress: nicht nur Layout | 329 |
14.2 Kostenlose oder Premium-Themes? | 329 |
14.3 Was zeichnet gute Themes aus? | 330 |
14.3.1 Regelmäßige Updates | 331 |
14.3.2 Updates direkt über Ihre Administrationsoberfläche | 331 |
14.3.3 Flexibles Layout und Struktur | 332 |
14.3.4 Mitgelieferte Theme-Widgets | 333 |
14.3.5 Eigene Shortcodes für eine Ausgabe im Editor | 334 |
14.3.6 Eigene Farben, Logos und individuelle Schriften | 335 |
14.3.7 Eigene CSS-Anweisungen | 335 |
14.3.8 Einsatz von individuellen Menüs | 335 |
14.3.9 Saubere Programmierung und valider Code | 336 |
14.3.10 Popularität als Qualitätskriterium? | 337 |
14.4 Bewährte Quellen für Themes | 337 |
14.4.1 Bewährte Quellen für kostenpflichtige Premium-Themes | 337 |
14.4.2 Bewährte Quellen für kostenlose Themes | 340 |
14.5 Themes installieren | 340 |
14.5.1 Themes online installieren | 340 |
14.5.2 Themes hochladen und installieren | 344 |
14.5.3 Themes via FTP installieren | 344 |
14.6 Themes auf Sicherheit testen und prüfen | 345 |
14.6.1 Was testet Theme-Check? | 345 |
14.6.2 Theme-Check installieren und einrichten | 346 |
14.7 Mit Beispielinhalten den Theme-Umfang prüfen | 347 |
14.7.1 Download der XML-Datei mit allen Inhalten | 347 |
14.7.2 Die XML-Datei in WordPress importieren | 348 |
15Probleme & Lösungen | 351 |
15.1 Nicht verzagen, Community fragen | 351 |
15.2 Die Basis: Der Debug-Mode von WordPress | 351 |
15.3 Probleme & Lösungen | 352 |
15.3.1 Das verflixte neue Plug-in | 352 |
15.3.2 Alle Plug-ins gleichzeitig aktualisiert oder mehrere Plug-ins auf einmal installiert | 352 |
15.3.3 Der weiße Bildschirm | 354 |
15.3.4 Das fehlgeschlagene Theme-Update | 354 |
15.3.5 Sie haben ein Security-Plug-in installiert und sich versehentlich ausgesperrt? | 354 |
15.3.6 Sie müssen bei jeder Plug-in-Installation Ihre FTP-Datei eingeben? | 355 |
15.3.7 Meine Website wurde gehackt! – Was tun? | 355 |
15.3.8 Sie haben Ihre WordPress-Zugangsdaten verlegt oder vergessen? | 356 |
15.3.9 Kein Foto- oder Datei-Upload will gelingen | 358 |
15.3.10 Die Fehlermeldung »Allowed Memory size exhausted« erscheint | 358 |
16 WordPress Multisite | 361 |
16.1 Was ist WordPress Multisite? | 361 |
16.2 Anwendungsbeispiele von Multisite in der Praxis | 361 |
16.2.1 Mini-Websites und Mini-Blogs | 362 |
16.2.2 Filialen unter einem Dach – kein Problem für Multisite | 362 |
16.2.3 Multisite als Zentrale für Ihre Kunden-Websites | 363 |
16.3 Einschränkungen von Multisite | 363 |
16.3.1 Serveranforderungen von Multisite | 363 |
16.3.2 Multisite und Sicherheit | 363 |
16.3.3 Plug-in-Unterstützung | 364 |
16.4 Multisite aktivieren und einrichten | 364 |
16.4.1 Das Multisite-Netzwerk einrichten | 365 |
16.4.2 Erweiterung der wp-config.php und der .htaccess-Datei | 366 |
16.5 Neue Unter-Websites dem Netzwerk hinzufügen | 368 |
16.6 Den Unter-Websites Inhalte hinzufügen | 370 |
16.7 Themes installieren und verwalten | 371 |
16.8 Plug-ins installieren und verwalten | 372 |
16.9 Einstellungen, Themes und Plug-ins pro Unter-Website getrennt steuern | 373 |
16.9.1 Einer Unter-Website einen neuen Benutzer hinzufügen | 374 |
16.9.2 Themes verwalten und verteilen | 375 |
16.9.3 Weitere Einstellungen pro Unter-Website vornehmen | 377 |
16.10 Multisite und Mehrsprachigkeit | 377 |
16.10.1 Vorteile | 377 |
16.10.2 Nachteile | 377 |
16.10.3 MultilingualPress Pro: Multisite-Unterbau, Plug-in-Aufbau | 378 |
II WordPress Advanced | 379 |
17WordPress Themes verstehen | 381 |
17.1 Vorkenntnisse in HTML, CSS, PHP etc. | 381 |
17.1.1 Auch ein PHP-Mastermind wird nicht verlangt | 381 |
17.2 PHP-Mini-Crashkurs für Einsteiger | 382 |
17.2.1 PHP in der Kurzvorstellung | 382 |
17.2.2 Schreibweise von PHP | 383 |
17.2.3 PHP-Funktionen verstehen | 384 |
17.2.4 Der Einsatz von Variablen | 385 |
17.2.5 Schleifen oder Loops | 385 |
17.2.6 if/else für einfache Entscheidungen | 386 |
17.2.7 Wenn Sie tiefer in das Thema eintauchen möchten | 387 |
17.3 Aufbau und Struktur eines Themes | 387 |
17.4 Die wichtigsten Templates im Überblick | 388 |
17.5 Die Template-Kaskade in WordPress | 392 |
17.5.1 Unterschiedliche Templates für jeden Anwendungszweck | 392 |
17.5.2 ID und Slug als Auswahlkriterium im Dateinamen | 393 |
17.5.3 Reihenfolge der Template-Kaskade | 394 |
17.5.4 Fazit | 394 |
18Praxis: Ein Theme entwickeln | 395 |
18.1 Was Sie in diesem Praxis-Workshop erwartet | 395 |
18.2 Vorstellung der HTML-Vorlage | 395 |
18.2.1 Ordner und Dateien der HTML-Vorlage | 397 |
18.3 Vorbereiten der Vorlage in WordPress | 398 |
18.3.1 Den Theme-Ordner erstellen und Dateien hochladen | 398 |
18.3.2 Die index.html-Datei in index.php umbenennen | 399 |
18.3.3 Die style.css erweitern | 399 |
18.3.4 Das Theme um ein Vorschaubild ergänzen | 399 |
18.3.5 Aktivieren des Themes über WordPress | 400 |
18.3.6 Die Pfade in der Vorlage korrigieren | 400 |
18.3.7 Den Pfad zur CSS-Datei korrigieren | 401 |
18.3.8 Den Pfad zur Bilddatei korrigieren | 402 |
18.4 Die ersten Inhalte mit Funktionen ausgeben | 402 |
18.4.1 Den Seitentitel mit der Bloginfo-Funktion ausgeben | 402 |
18.4.2 Die Meta-Description mit der Bloginfo-Funktion ausgeben | 403 |
18.4.3 Den Titel ausgeben und mit der Startseite verlinken | 404 |
18.4.4 Zwei wichtige Funktionen zum »Einhaken« integrieren | 405 |
18.4.5 Kleines Zwischenfazit | 406 |
18.5 Den Inhalt einer Seite aus WordPress auslesen | 407 |
18.5.1 Vorbereitung und Verschiebung der Inhalte in WordPress | 407 |
18.5.2 Den Loop in das Template integrieren | 409 |
18.6 Das Theme um Widgets bereichern | 411 |
18.6.1 Die Datei functions.php anlegen | 412 |
18.6.2 Neue Sidebars in WordPress registrieren | 412 |
18.6.3 Die Sidebar-Ausgabe in das Theme platzieren | 415 |
18.7 Individuelle Menüs in WordPress | 421 |
18.7.1 Anlegen der Inhaltsseiten | 422 |
18.7.2 Anlegen der Beiträge und einer neuen Kategorie | 423 |
18.7.3 Festlegen der Beitragsseite als Startseite in den Einstellungen | 423 |
18.7.4 Anlegen des Menüs in WordPress | 424 |
18.7.5 Das Menü ausgeben mit einem Widget in der Sidebar | 425 |
18.8 Das Theme optimieren | 426 |
18.8.1 Kurzfassung ausgeben statt Artikel in voller Länge | 426 |
18.8.2 Beitragsbilder hinzufügen und ausgeben lassen | 428 |
18.8.3 Das Kopfbild via WordPress ersetzen | 430 |
18.9 Fazit Praxis-Workshop | 434 |
19Plug-ins verstehen | 435 |
19.1 Was Sie in diesem Kapitel erwartet | 435 |
19.2 Technische Grundlagen | 435 |
19.3 Gründe für die Programmierung von Plug-ins | 436 |
19.3.1 Sie möchten ein Plug-in erweitern | 436 |
19.3.2 Sie finden einfach kein passendes Plug-in | 437 |
19.3.3 Sie möchten Theme-Code auslagern | 437 |
19.3.4 Sie möchten Geld verdienen | 437 |
19.4 Das Plug-in Hello Dolly unter der Lupe | 438 |
19.4.1 Über Sinn und Unsinn von Hello Dolly | 438 |
19.4.2 Der Aufbau des Beispiel-Plug-ins | 439 |
19.5 Coding-Standards: Worauf Sie achten sollten | 442 |
19.5.1 Was sind Coding-Standards? | 442 |
19.5.2 Ihre Vorteile bei Einhaltung der Standards | 443 |
19.5.3 Die wichtigsten Richtlinien im Überblick | 444 |
19.5.4 Fazit | 446 |
20Praxis: Ein Plug-in entwickeln | 447 |
20.1 Ein eigenes Filmdatenbank-Plug-in in WordPress | 447 |
20.2 Das Plug-in erstellen und aktivieren | 448 |
20.3 Custom Post Types in WordPress | 449 |
20.3.1 Was sind Custom Post Types? | 449 |
20.4 Vorbereiten der Plug-in-Struktur | 450 |
20.4.1 Einen neuen Ordner erstellen im Plug-in-Ordner | 450 |
20.4.2 Erstellen einer leeren PHP-Datei in diesem Ordner | 450 |
20.4.3 Die Funktion include_once() in der Hauptdatei einsetzen | 450 |
20.4.4 Die neue Datei franzis-custom-post-type.php aufrufen | 451 |
20.5 Den Custom Post Type filme registrieren | 452 |
20.5.1 Aufbau der Grundfunktion und Setzen des Hooks | 452 |
20.5.2 Definition der Labels | 452 |
20.5.3 Definition der Eigenschaften des Post Type | 453 |
20.5.4 Den neuen Post Type registrieren | 455 |
20.6 Kategorisierung nach Genres hinzufügen | 457 |
20.6.1 Vorbereitung | 457 |
20.6.2 Registrierung des Custom Taxonomy | 458 |
20.6.3 Variante: Tags anstelle von Kategorien nutzen | 460 |
20.7 Tagging von Schauspielern hinzufügen | 460 |
20.8 Eigene Metaboxen definieren | 462 |
20.8.1 Was sind Metaboxen? | 462 |
20.8.2 Vorbereitung | 463 |
20.8.3 Eine Metabox hinzufügen | 463 |
20.8.4 Die Formularfelder in der Metabox anlegen | 464 |
20.8.5 Die Eingabe in das Formularfeld speichern | 465 |
20.8.6 Weitere Metaboxen anlegen | 466 |
20.8.7 Die Permalinks automatisch aktualisieren lassen | 468 |
20.9 Die Ausgabe als Archivauflistung | 469 |
20.9.1 Filme anlegen zur Vorbereitung | 469 |
20.9.2 Eine erste Ausgabe generieren lassen | 470 |
20.9.3 Ein neues Archiv-Template im Theme-Ordner anlegen | 471 |
20.9.4 Einen neuen Loop für die Filme erstellen | 471 |
20.9.5 Gesamtspielzeit und Lauflänge in den Loop integrieren | 472 |
20.9.6 Genre und Schauspieler in den Loop integrieren | 475 |
20.10 Eine Einstellungsseite in WordPress | 478 |
20.10.1 Vorbereitung | 479 |
20.10.2 Eine neue Einstellungsseite registrieren | 479 |
20.10.3 Die ersten Einstellungsfelder registrieren | 479 |
20.10.4 Die HTML-Ausgabe der Formularfelder festlegen | 480 |
20.10.5 Die gesamte Einstellungsseite zusammenstellen | 481 |
20.10.6 Die Einstellungsseite prüfen | 482 |
20.10.7 Das Ausgabe-Template zur Nutzung der Einstellung anpassen | 483 |
20.11 Fazit | 483 |
III Anhang | 485 |
A PLUG-INS IM BUCH | 487 |
Stichwortverzeichnis | 491 |