SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
EigeneThemes 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 vonThemes und Plugins	
• nach kurzer Zeit ausschließlich Entwicklung
kundenspezifischerThemes	
• Administrator etlicher WP-Installationen



stefan@froehlich.it
Wozu ein eigenesTheme?
„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ätzlicherTestaufwand durch Bugfixing und CSS-Anpassung
Sicherheit
• beliebteThemes haben auch beliebte
Sicherheitslücken	
• Sicherheitslücken der in dasTheme
integrierten Plugins	
• Kein Problem, wenn regelmäßig alles
aktualisiert wird, aber die Praxis sieht
oft anders aus.
EigenesTheme
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 einesThemes
Theme-Verzeichnis
• Neues, leeresVerzeichnis:

…/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>
WeitereTemplate-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 PostTypes und

Taxonomien	
• Erweiterung durch Custom Fields	
• Wie gewohnt beliebige Plugins
Custom PostTypes /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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (17)

Hdc2012 cordova-präsi
Hdc2012 cordova-präsiHdc2012 cordova-präsi
Hdc2012 cordova-präsi
 
Webentwicklung für das IPhone
Webentwicklung für das IPhoneWebentwicklung für das IPhone
Webentwicklung für das IPhone
 
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwaltenSEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
 
Christian heilmann html 5 - das web und der browser als platform
Christian heilmann   html 5 - das web und der browser als platformChristian heilmann   html 5 - das web und der browser als platform
Christian heilmann html 5 - das web und der browser als platform
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
 
Daisy
DaisyDaisy
Daisy
 
WordPress- eine Einführung
WordPress- eine EinführungWordPress- eine Einführung
WordPress- eine Einführung
 
Arbeiten mit Childthemes
Arbeiten mit ChildthemesArbeiten mit Childthemes
Arbeiten mit Childthemes
 
Wie projektiere ich eine expired Domain mit Wordpress - SEO Campixx 2012
Wie projektiere ich eine expired Domain mit Wordpress - SEO Campixx 2012Wie projektiere ich eine expired Domain mit Wordpress - SEO Campixx 2012
Wie projektiere ich eine expired Domain mit Wordpress - SEO Campixx 2012
 
Wordpress für Profis
Wordpress für ProfisWordpress für Profis
Wordpress für Profis
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress Multisite
 
Andy bosch-jsf-javascript
Andy bosch-jsf-javascriptAndy bosch-jsf-javascript
Andy bosch-jsf-javascript
 
WordPress.com-Blogs individualisieren
WordPress.com-Blogs individualisierenWordPress.com-Blogs individualisieren
WordPress.com-Blogs individualisieren
 
201903 seo campixx ur ls komprimieren - slideshare
201903 seo campixx   ur ls komprimieren - slideshare201903 seo campixx   ur ls komprimieren - slideshare
201903 seo campixx ur ls komprimieren - slideshare
 
Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007
 
MPIPräsentation-1
MPIPräsentation-1MPIPräsentation-1
MPIPräsentation-1
 
Wordpress Template Workshop
Wordpress Template WorkshopWordpress Template Workshop
Wordpress Template Workshop
 

Andere mochten auch

Le festival des oranges
Le festival des orangesLe festival des oranges
Le festival des oranges
andreamoedo
 
Verzeichnis- und Dateinamen im Web
Verzeichnis- und Dateinamen im WebVerzeichnis- und Dateinamen im Web
Verzeichnis- und Dateinamen im Web
lehrerfreund
 
PORTFOLIO - DORIS SHANGGUAN
PORTFOLIO - DORIS SHANGGUANPORTFOLIO - DORIS SHANGGUAN
PORTFOLIO - DORIS SHANGGUAN
Doris Shangguan
 
Informatique du ch'nord
Informatique du ch'nordInformatique du ch'nord
Informatique du ch'nord
Jacky Gelon
 
Grece nous lui-devons_tout- http://www.projethomere.com
Grece nous lui-devons_tout- http://www.projethomere.comGrece nous lui-devons_tout- http://www.projethomere.com
Grece nous lui-devons_tout- http://www.projethomere.com
Hélène Kémiktsi
 
0u trouver de l'argent cp
0u trouver de l'argent cp0u trouver de l'argent cp
0u trouver de l'argent cp
desintocx
 
Jahreshauptversammlung 2015
Jahreshauptversammlung 2015Jahreshauptversammlung 2015
Jahreshauptversammlung 2015
vfbsalzkotten
 
Emploi d'avenir
Emploi d'avenirEmploi d'avenir
Emploi d'avenir
proetco
 
Contrat de generation
Contrat de generationContrat de generation
Contrat de generation
proetco
 
BrightTag: Webanalyse-Treffen Berlin (DAALA)
BrightTag: Webanalyse-Treffen Berlin (DAALA)BrightTag: Webanalyse-Treffen Berlin (DAALA)
BrightTag: Webanalyse-Treffen Berlin (DAALA)
James Sandoval
 

Andere mochten auch (20)

Linked Data - Das Ende des Dokuments?
Linked Data - Das Ende des Dokuments?Linked Data - Das Ende des Dokuments?
Linked Data - Das Ende des Dokuments?
 
Le festival des oranges
Le festival des orangesLe festival des oranges
Le festival des oranges
 
Verzeichnis- und Dateinamen im Web
Verzeichnis- und Dateinamen im WebVerzeichnis- und Dateinamen im Web
Verzeichnis- und Dateinamen im Web
 
PORTFOLIO - DORIS SHANGGUAN
PORTFOLIO - DORIS SHANGGUANPORTFOLIO - DORIS SHANGGUAN
PORTFOLIO - DORIS SHANGGUAN
 
Informatique du ch'nord
Informatique du ch'nordInformatique du ch'nord
Informatique du ch'nord
 
Guide pratique pour toute PME et TPE
Guide pratique pour toute PME et TPEGuide pratique pour toute PME et TPE
Guide pratique pour toute PME et TPE
 
Promotionsvorhaben "Liquid Democracy"
Promotionsvorhaben "Liquid Democracy"Promotionsvorhaben "Liquid Democracy"
Promotionsvorhaben "Liquid Democracy"
 
Danses
DansesDanses
Danses
 
Grece nous lui-devons_tout- http://www.projethomere.com
Grece nous lui-devons_tout- http://www.projethomere.comGrece nous lui-devons_tout- http://www.projethomere.com
Grece nous lui-devons_tout- http://www.projethomere.com
 
0u trouver de l'argent cp
0u trouver de l'argent cp0u trouver de l'argent cp
0u trouver de l'argent cp
 
Jahreshauptversammlung 2015
Jahreshauptversammlung 2015Jahreshauptversammlung 2015
Jahreshauptversammlung 2015
 
Emploi d'avenir
Emploi d'avenirEmploi d'avenir
Emploi d'avenir
 
Saisonrückblick Social Media Recht re-publica 2012
Saisonrückblick Social Media Recht re-publica 2012Saisonrückblick Social Media Recht re-publica 2012
Saisonrückblick Social Media Recht re-publica 2012
 
Contrat de generation
Contrat de generationContrat de generation
Contrat de generation
 
Français v partiel 1
Français v partiel 1Français v partiel 1
Français v partiel 1
 
Entreprise industrielle
Entreprise industrielleEntreprise industrielle
Entreprise industrielle
 
Presentation krippendorf isolutions_kultur_pdf
Presentation krippendorf isolutions_kultur_pdfPresentation krippendorf isolutions_kultur_pdf
Presentation krippendorf isolutions_kultur_pdf
 
Recommandations déontologiques SVA+
Recommandations déontologiques SVA+Recommandations déontologiques SVA+
Recommandations déontologiques SVA+
 
Thomas Keup - Auf dem Weg von 1.0 nach 2.0
Thomas Keup - Auf dem Weg von 1.0 nach 2.0Thomas Keup - Auf dem Weg von 1.0 nach 2.0
Thomas Keup - Auf dem Weg von 1.0 nach 2.0
 
BrightTag: Webanalyse-Treffen Berlin (DAALA)
BrightTag: Webanalyse-Treffen Berlin (DAALA)BrightTag: Webanalyse-Treffen Berlin (DAALA)
BrightTag: Webanalyse-Treffen Berlin (DAALA)
 

Ähnlich wie Eigene Themes from Scratch

Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Fanstatic pycon.de 2012
Fanstatic pycon.de 2012
Daniel Havlik
 
DDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungDDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale Entwicklungsumgebung
Frank Schmittlein
 
Wordpress vs. Textpattern
Wordpress vs. TextpatternWordpress vs. Textpattern
Wordpress vs. Textpattern
guestcb8462
 
Liquid - Templating on Rails
Liquid - Templating on RailsLiquid - Templating on Rails
Liquid - Templating on Rails
gearwheeldotnet
 
FMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian SchmitzFMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian Schmitz
Verein FM Konferenz
 
Nutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 LinzNutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 Linz
Eric Eggert
 

Ähnlich wie Eigene Themes from Scratch (20)

Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Fanstatic pycon.de 2012
Fanstatic pycon.de 2012
 
PHP Sucks?!
PHP Sucks?!PHP Sucks?!
PHP Sucks?!
 
Gutenberg Theme Entwicklung leicht gemacht
Gutenberg Theme Entwicklung leicht gemachtGutenberg Theme Entwicklung leicht gemacht
Gutenberg Theme Entwicklung leicht gemacht
 
DDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungDDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale Entwicklungsumgebung
 
Blank Template - less is more #jd13ch
Blank Template - less is more #jd13chBlank Template - less is more #jd13ch
Blank Template - less is more #jd13ch
 
XHTML
XHTMLXHTML
XHTML
 
WordPress Professional – SEO Campixx
WordPress Professional – SEO CampixxWordPress Professional – SEO Campixx
WordPress Professional – SEO Campixx
 
Wordpress vs. Textpattern
Wordpress vs. TextpatternWordpress vs. Textpattern
Wordpress vs. Textpattern
 
Perl Renaissance Reloaded
Perl Renaissance ReloadedPerl Renaissance Reloaded
Perl Renaissance Reloaded
 
Liquid - Templating on Rails
Liquid - Templating on RailsLiquid - Templating on Rails
Liquid - Templating on Rails
 
Developing UXD: Workshop @ IAKonferenz 2014 (German/Deutsch)
Developing UXD: Workshop @ IAKonferenz 2014 (German/Deutsch)Developing UXD: Workshop @ IAKonferenz 2014 (German/Deutsch)
Developing UXD: Workshop @ IAKonferenz 2014 (German/Deutsch)
 
Ruby on Rails SS09 06
Ruby on Rails SS09 06Ruby on Rails SS09 06
Ruby on Rails SS09 06
 
FMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian SchmitzFMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian Schmitz
 
Wordpress Themes
Wordpress ThemesWordpress Themes
Wordpress Themes
 
Moderner Webentwicklungs-Workflow
Moderner Webentwicklungs-WorkflowModerner Webentwicklungs-Workflow
Moderner Webentwicklungs-Workflow
 
HTML5
HTML5HTML5
HTML5
 
Nutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 LinzNutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 Linz
 
Entwickeln mit Wordpress
Entwickeln mit WordpressEntwickeln mit Wordpress
Entwickeln mit Wordpress
 
HTML5-Features
HTML5-FeaturesHTML5-Features
HTML5-Features
 
WordPress und die Sprachen
WordPress und die SprachenWordPress und die Sprachen
WordPress und die Sprachen
 

Eigene Themes from Scratch

  • 1. EigeneThemes from Scratch Stefan Fröhlich ! WordCamp Berlin 2015
  • 2. Stefan Fröhlich • 1984: Basic und 6510-Assembler mit C-64 • seit 1995 freiberuflicher Entwickler • seit 2012:WordPress • anfangs Anpassung vonThemes und Plugins • nach kurzer Zeit ausschließlich Entwicklung kundenspezifischerThemes • Administrator etlicher WP-Installationen
 
 stefan@froehlich.it
  • 4. „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
  • 5. • aufgeblähter Code • viele CSS- und JS-Dateien
  • 6. PageSpeed-Ergebnis • Out of the box: eher unerfreulich • Abhilfe: 
 entsprechendes Hosting (Kosten/ Administration) 
 oder 
 Plugins (funktioniert oft nicht) 
 oder 
 Aufwand für Optimierung
  • 7. Günstiger Preis, aber zusätzliche Kosten • unnötige Features entfernen • erforderliche Features implementieren • Anpassungen an Design oder Corporate Identity des Kunden • Bugfixing • zusätzlicherTestaufwand durch Bugfixing und CSS-Anpassung
  • 8. Sicherheit • beliebteThemes haben auch beliebte Sicherheitslücken • Sicherheitslücken der in dasTheme integrierten Plugins • Kein Problem, wenn regelmäßig alles aktualisiert wird, aber die Praxis sieht oft anders aus.
  • 10. Individuelles Design - 
 nicht von der Stange
  • 11. • Genau die gewünschte Funktionalität - nicht zuviel, nicht zuwenig • Übersichtliches Backend, das ebenfalls den Kundenwünschen entsprechend aufgebaut ist
  • 12. • Keine bekannten Sicherheitslücken • Schlanker Code • bessere Performance • weniger CSS- und JS-Dateien
  • 15.
  • 16. 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! ==================================================! */!
  • 17.
  • 18. 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; ?>
  • 19. 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.
  • 20. 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>!
  • 21. footer.php ! ! <footer>! ! ! ! <strong>Footer:</strong> Unser eigenes Theme from Scratch!! ! ! </footer>! ! ! </div>! ! ! ! <?php ! ! ! ! wp_footer(); ! ! ! ! ! ?>! ! ! </body>! </html>
  • 22. WeitereTemplate-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

  • 23. Alternative Seiten-Templates <?php ! ! /* ! * Template Name: Anderes Template! */! ! get_header(); ! ! ?>! ! <?php while ( have_posts() ) : the_post(); ?>! ! <article>! ! ! <header>!
  • 25. • Erweiterung durch Custom PostTypes und
 Taxonomien • Erweiterung durch Custom Fields • Wie gewohnt beliebige Plugins
  • 26. Custom PostTypes /Taxonomien • Code • bequemer mit
 https://generatewp.com/post-type/ • beliebtes Plugin: 
 https://wordpress.org/plugins/types/
  • 27. Custom Fields • Code • beliebtes Plugin: 
 Advanced Custom Fields (Pro)

  • 29. Tools • lokale Entwicklungsumgebung: Webserver + PHP + MySQL • Automatisierung mit grunt • Versionsverwaltung und Deployment mit git
  • 30. Lokale Entwicklungsumgebung • Apache / nginx + PHP + MySQL (Mac / Unix / Linux) • MAMP: https://www.mamp.info (Windows / Mac)
  • 33. 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
  • 35. Fragen? Vielen Dank und weiterhin viel Spaß auf dem WordCamp Berlin 2015 :-) ! Stefan Fröhlich stefan@froehlich.it