Eigene Themes from Scratch Stefan Fröhlich.! WordCamp Berlin 2015

Ähnliche Dokumente
Custom Themes from Scratch Stefan Fröhlich. WordCamp Nürnberg 2016

WordPress. - ein kleines Tutorial von C. Oberweis, inf-schule.de -

TIMERATE AG Tel Falkenstrasse Zürich Joomla Templates Kursunterlagen

WordPress Themes Was ist das und wo bekomme ich die her?

WebDesign -in.de proudly presents WordPress Theme "my-photo-blog" by mts

Einführung Responsive Webdesign

TYPO3 CMS 6.2 LTS. Die neue TYPO3- Version mit Langzeit- Support

This manual cannot be redistributed without permission from joomla-monster.com or vorlagenstudio.de

Design anpassen eine kurze Einführung

Plugins. Stefan Salich Stand

FIS: Projektdaten auf den Internetseiten ausgeben

EIDAMO Webshop-Lösung - White Paper

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Joomla 1.5. Einführung in die Installation und Benützung

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Aufgabe 2.2. Folgende Schritte sollen durchgeführt werden:

Die itsystems Publishing-Lösung

my.green.ch... 2 Domänenübersicht... 4

SEMINAR Modifikation für die Nutzung des Community Builders

Template Programmierung mit Joomla!

Webseitenintegration. Dokumentation. v1.0

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Step by Step Webserver unter Windows Server von Christian Bartl

Virtuemart-Template installieren? So geht es! (Virtuemart 2.0.x)

mehr funktionen, mehr e-commerce:

Java Script für die Nutzung unseres Online-Bestellsystems

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

Di 8.4. Silverlight: Windows Presentation Foundation für s Web. Christian Wenz

AppCenter Handbuch August 2015, Copyright Webland AG 2015

NETTBIZ WEB DESIGN GRAFIK PROGRAMMIERUNG HOSTING

Content Management mit Joomla! 1.7 für Kids Hanke

Erweiterungen Gantry Framework -

Die WizAdvisor-Suite. 1 Auswahl nach Kundenbedürfnissen (Beratung) Internet Invest GmbH kontakt@wizadvisor.

Das Open Source CMS. Gregor Walter.

Was hat sich geändert:

End User Manual EveryWare SPAM Firewall

mehr funktionen, mehr e-commerce:

Webseitenverwaltung. Mit HTML, CSS und ein klein wenig PHP. Steffen Schwientek

Georgienseite TYPO3 LTS7 Projekt Georgienseite TYPO3 LTS 7 responsiv Stand: Juni 2016

Microsoft SharePoint 2013 Designer

doubleslash Net-Business GmbH

Internet Explorer Version 6

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

WordPress lokal mit Xaamp installieren

Designänderungen mit CSS und jquery

End User Manual für SPAM Firewall

INHALTSVERZEICHNIS... 1

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

2 Grundlagen der WordPress-Theme- Erstellung

Diazo. XSLT basiertes Website Theming. Maik Derstappen Inqbus GmbH & Co. KG maik.derstappen@inqbus.de

GITS Steckbriefe Tutorial

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Referenzen Frontend und PHP

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Online Newsletter III

TYPO3 Super Admin Handbuch

Magento Theming Ein Einstieg Rainer Wollthan

KEIL software. Inhaltsverzeichnis UPDATE. 1. Wichtige Informationen 1.1. Welche Änderungen gibt es?

-Hygiene SPAM und Viren in den Briefkästen

TYPO3 Installation und Konfiguration

Einleitung: Frontend Backend

Einrichten der BASE Projektbasis

Websites organisieren und gestalten mit dem Open Source-CMS ADDISON-WESLEY. An imprint of Pearson Education

Abschlussbericht Kernkompetenz

teamsync Kurzanleitung

Nutzungsszenarien für das Erstellen und Verwalten von Webseiten

WordPress installieren mit Webhosting

Kurzanleitung. Kirschfestverein Naumburg e.v. t e c h n ische Abt e i lung. für Benutzer des CMS der Domain:

kostenlose Homepage erstellen

Kurzeinführung Excel2App. Version 1.0.0

Dokumentation Typo3. tt - news - Nachrichtenmodul

Referenz Frontend: Responsive Webdesign

Anleitung Typo3-Extension - Raumbuchungssystem

Patch Management mit

Plug-In Anleitung Erweitertes Grafik Menü (V.1.1.9) für Shopware

Objektorientierte Analyse und Design

Migration von statischen HTML Seiten

BSCW-Anbindung im Dateiexplorer

Installationshinweise und Systemvoraussetzungen

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Installationsanleitung WordPress auf greenwebhosting

Upgrade von Windows Vista auf Windows 7

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98

Hochschule Darmstadt Fachbereich Informatik

Multimedia im Netz Wintersemester 2011/12

Inhaltsverzeichnis VII

Erstellen eines HTML-Templates mit externer CSS-Datei

AutoTexte und AutoKorrektur unter Outlook verwenden

Webseiten-Erstellung mit Mini-CMS Von Norbert Willimsky

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

PROJEKTVERZEICHNIS EINRICHTEN

Silverstripe CMS und das Sapphire Framework

Kurzanleitung Installation der Zend Studio Sprachpakete

! " # $ " % & Nicki Wruck worldwidewruck

Vitaminkapseln.ch - SEO Check

Transkript:

Eigene Themes from Scratch Stefan Fröhlich WordCamp Berlin 2015

Stefan Fröhlich 1984: Basic und 6510-Assembler mit C-64 seit 1995 freiberuflicher Entwickler seit 2012: WordPress anfangs Anpassung von Themes und Plugins nach kurzer Zeit ausschließlich Entwicklung kundenspezifischer Themes Administrator etlicher WP-Installationen stefan@froehlich.it

Wozu ein eigenes Theme?

Premium -Themes und Frameworks unnötige Funktionalität und Code wichtige Projektanforderungen fehlen ergänzende Plugins haben häufig dieselben Probleme: viele Optionen, aber nicht die erforderlichen

aufgeblähter Code viele CSS- und JS-Dateien

PageSpeed-Ergebnis Out of the box: eher unerfreulich Abhilfe: entsprechendes Hosting (Kosten/ Administration) oder Plugins (funktioniert oft nicht) oder Aufwand für Optimierung

Günstiger Preis, aber zusätzliche Kosten unnötige Features entfernen erforderliche Features implementieren Anpassungen an Design oder Corporate Identity des Kunden Bugfixing zusätzlicher Testaufwand durch Bugfixing und CSS-Anpassung

Sicherheit beliebte Themes haben auch beliebte Sicherheitslücken Sicherheitslücken der in das Theme integrierten Plugins Kein Problem, wenn regelmäßig alles aktualisiert wird, aber die Praxis sieht oft anders aus.

Eigenes Theme

Individuelles Design - nicht von der Stange

Genau die gewünschte Funktionalität - nicht zuviel, nicht zuwenig Übersichtliches Backend, das ebenfalls den Kundenwünschen entsprechend aufgebaut ist

Keine bekannten Sicherheitslücken Schlanker Code bessere Performance weniger CSS- und JS-Dateien

Anatomie eines Themes

Theme-Verzeichnis Neues, leeres Verzeichnis: /wp-content/themes/from_scratch

style.css /* LICENSE & DETAILS ================================================== Theme Name: Eigenes Theme from Scratch Theme URI: http://www.froehlich.it Description: Demo-Theme für WordCamp Berlin 2015 Version: 0.1 Author: Stefan Fröhlich Author URI: http://www.froehlich.it License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: bla, blub Text Domain: from_scratch ================================================== */

index.php + screenshot.png <-- Gibt es mindestens einen Beitrag? --> <?php if ( have_posts() ) :?> <-- Dann alle Beiträge ausgeben: > /* DER LOOP */ <?php while ( have_posts() ) : the_post();?> <article> <header> <-- Überschrift --> <h1> <a href="<?php the_permalink();?>"> <?php the_title();?> </a> </h1> </header> <-- Inhalt --> <?php the_content();?> </article> <?php endwhile;?> <-- Falls es keine Inhalte gibt --> <?php else :?> <p><?php _e( 'Nothing Found', from_scratch' );?></p> <?php endif;?>

Header und Footer einbinden <?php get_header();?> <-- Gibt es mindestens einen Beitrag? --> <?php if ( have_posts() ) :?>... <?php else :?> <p><?php _e( 'Nothing Found', from_scratch' );?></p> <?php endif;?> <?php get_footer();?> Header: Alles, was vor dem Loop kommt, inklusive HTML-Header und Navigation Footer: Alles, was nach dem Loop kommt. Inklusive Footer und schließendes </body>-tag usw.

header.php <DOCTYPE html> <html> <head> <meta charset="<?php bloginfo( 'charset' );?>"> <meta name="viewport" content="width=device-width"> <link rel="stylesheet" href="<?php echo get_stylesheet_uri();?>" type="text/css" /> <?php wp_head();?> </head> <body> <nav class="navigation" role="navigation"> <?php wp_nav_menu( array( 'theme_location' => 'mainmenu' ) );?> </nav>

footer.php <footer> <strong>footer:</strong> Unser eigenes Theme from Scratch </footer> </div> <?php wp_footer();?> </body> </html>

Weitere Template-Dateien sidebar.php: Darstellung der Seitenleiste(n) functions.php: Festlegen globaler Einstellungen, z.b. Skripts und Styles einbinden oder ausschließen front-page.php: Startseite für letzte Beiträge oder statische Seite home.php: Startseite für letzte Beiträge page.php: Template für die Darstellung von Seiten single.php: Template für einzelner Beiträge category.php, archive.php: Darstellung von Kategorieren / Archiven Weiterführende Links: https://developer.wordpress.org/themes/basics/template-hierarchy/ https://codex.wordpress.org/theme_development#template_files

Alternative Seiten-Templates <?php /* * Template Name: Anderes Template */ get_header();?> <?php while ( have_posts() ) : the_post();?> <article> <header>

Weitere Komponenten

Erweiterung durch Custom Post Types und Taxonomien Erweiterung durch Custom Fields Wie gewohnt beliebige Plugins

Custom Post Types / Taxonomien Code bequemer mit https://generatewp.com/post-type/ beliebtes Plugin: https://wordpress.org/plugins/types/

Custom Fields Code beliebtes Plugin: Advanced Custom Fields (Pro)

Tools für effizienten Workflow

Tools lokale Entwicklungsumgebung: Webserver + PHP + MySQL Automatisierung mit grunt Versionsverwaltung und Deployment mit git

Lokale Entwicklungsumgebung Apache / nginx + PHP + MySQL (Mac / Unix / Linux) MAMP: https://www.mamp.info (Windows / Mac)

Automatisierung mit grunt

Flaticons designed by Freepik

Versionierung mit git Versionskontrolle mit git dringendst zu empfehlen für jedes Projekt öffentliche Projekte: https://github.com vertrauliche Projekte: privates Repository, z.b. auf https://bitbucket.org

Deployment mit git

Fragen? Vielen Dank und weiterhin viel Spaß auf dem WordCamp Berlin 2015 :-) Stefan Fröhlich stefan@froehlich.it