SlideShare a Scribd company logo
Submit Search
Upload
WordPress-Templates mit Twig erstellen - PHPUGFFM
Report
Share
Walter Ebert
Independent Web & Usability Engineer at walter.ebert.engineering
Follow
•
2 likes
•
2,048 views
1
of
43
WordPress-Templates mit Twig erstellen - PHPUGFFM
•
2 likes
•
2,048 views
Report
Share
Download Now
Download to read offline
Internet
Vortrag bei der PHP Usergroup Frankfurt am 21. Januar 2016
Read more
Walter Ebert
Independent Web & Usability Engineer at walter.ebert.engineering
Follow
Recommended
Bilder einbinden ist kein Thema, oder? by
Bilder einbinden ist kein Thema, oder?
Walter Ebert
1.9K views
•
54 slides
Bilder usw... by
Bilder usw...
Walter Ebert
1.7K views
•
54 slides
Mehr Performance für WordPress - WordCamp Köln by
Mehr Performance für WordPress - WordCamp Köln
Walter Ebert
3.8K views
•
57 slides
HTML 5 - Overview by
HTML 5 - Overview
Marcelio Leal
666 views
•
44 slides
WordPress mit Composer und Git verwalten by
WordPress mit Composer und Git verwalten
Walter Ebert
1.6K views
•
48 slides
High Performance Images by
High Performance Images
Walter Ebert
5.9K views
•
60 slides
More Related Content
What's hot
An introduction to Vue.js by
An introduction to Vue.js
Javier Lafora Rey
1.9K views
•
149 slides
HTML5: Markup Evolved by
HTML5: Markup Evolved
Billy Hylton
485 views
•
28 slides
The Point of Vue - Intro to Vue.js by
The Point of Vue - Intro to Vue.js
Holly Schinsky
1.6K views
•
30 slides
jQuery UI and Plugins by
jQuery UI and Plugins
Marc Grabanski
6.7K views
•
94 slides
Lone StarPHP 2013 - Building Web Apps from a New Angle by
Lone StarPHP 2013 - Building Web Apps from a New Angle
Pablo Godel
6.5K views
•
53 slides
WordCamp Praga 2015 by
WordCamp Praga 2015
Tomasz Dziuda
4K views
•
113 slides
What's hot
(20)
An introduction to Vue.js by Javier Lafora Rey
An introduction to Vue.js
Javier Lafora Rey
•
1.9K views
HTML5: Markup Evolved by Billy Hylton
HTML5: Markup Evolved
Billy Hylton
•
485 views
The Point of Vue - Intro to Vue.js by Holly Schinsky
The Point of Vue - Intro to Vue.js
Holly Schinsky
•
1.6K views
jQuery UI and Plugins by Marc Grabanski
jQuery UI and Plugins
Marc Grabanski
•
6.7K views
Lone StarPHP 2013 - Building Web Apps from a New Angle by Pablo Godel
Lone StarPHP 2013 - Building Web Apps from a New Angle
Pablo Godel
•
6.5K views
WordCamp Praga 2015 by Tomasz Dziuda
WordCamp Praga 2015
Tomasz Dziuda
•
4K views
Responsive Videos, mehr oder weniger by Walter Ebert
Responsive Videos, mehr oder weniger
Walter Ebert
•
8.1K views
What you need to know bout html5 by Kevin DeRudder
What you need to know bout html5
Kevin DeRudder
•
973 views
Css3 by Bronson Quick
Css3
Bronson Quick
•
2.6K views
Leave No One Behind with HTML5 - FFWD.PRO, Croatia by Robert Nyman
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Robert Nyman
•
32.7K views
Scalable Front-end Development with Vue.JS by Galih Pratama
Scalable Front-end Development with Vue.JS
Galih Pratama
•
264 views
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ by Leonardo Balter
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Leonardo Balter
•
1.1K views
An Introduction to Vuejs by Paddy Lock
An Introduction to Vuejs
Paddy Lock
•
4.6K views
Attractive HTML5~開発者の視点から~ by Sho Ito
Attractive HTML5~開発者の視点から~
Sho Ito
•
1.3K views
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo by Robert Nyman
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
Robert Nyman
•
27.5K views
Contributing to WordPress Core - Peter Wilson by WordCamp Sydney
Contributing to WordPress Core - Peter Wilson
WordCamp Sydney
•
1.3K views
jQuery (DrupalCamp Toronto) by jeresig
jQuery (DrupalCamp Toronto)
jeresig
•
1.5K views
High-Quality JavaScript by Marc Bächinger
High-Quality JavaScript
Marc Bächinger
•
1.2K views
An introduction to Vue.js by Pagepro
An introduction to Vue.js
Pagepro
•
440 views
HTML5, The Open Web, and what it means for you - MDN Hack Day, Sao Paulo by Robert Nyman
HTML5, The Open Web, and what it means for you - MDN Hack Day, Sao Paulo
Robert Nyman
•
31.9K views
Viewers also liked
Twig, the flexible, fast, and secure template language for PHP by
Twig, the flexible, fast, and secure template language for PHP
Fabien Potencier
22.7K views
•
45 slides
Die Zeit der Passwörter ist abgelaufen by
Die Zeit der Passwörter ist abgelaufen
Joachim Hummel
2.1K views
•
20 slides
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015) by
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
libertello GmbH
1K views
•
20 slides
Das Child-Theme-Dilemma by
Das Child-Theme-Dilemma
Torsten Landsiedel
22.7K views
•
33 slides
Wordpress Security by
Wordpress Security
Daniel Potthast
1.9K views
•
21 slides
Sicher bloggen mit WordPresse - CMS absichern by
Sicher bloggen mit WordPresse - CMS absichern
Sven Trautwein
2.1K views
•
24 slides
Viewers also liked
(16)
Twig, the flexible, fast, and secure template language for PHP by Fabien Potencier
Twig, the flexible, fast, and secure template language for PHP
Fabien Potencier
•
22.7K views
Die Zeit der Passwörter ist abgelaufen by Joachim Hummel
Die Zeit der Passwörter ist abgelaufen
Joachim Hummel
•
2.1K views
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015) by libertello GmbH
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
libertello GmbH
•
1K views
Das Child-Theme-Dilemma by Torsten Landsiedel
Das Child-Theme-Dilemma
Torsten Landsiedel
•
22.7K views
Wordpress Security by Daniel Potthast
Wordpress Security
Daniel Potthast
•
1.9K views
Sicher bloggen mit WordPresse - CMS absichern by Sven Trautwein
Sicher bloggen mit WordPresse - CMS absichern
Sven Trautwein
•
2.1K views
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz] by Felix Beilharz ✓
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
Felix Beilharz ✓
•
6K views
Writing Headlines infographic by Barry Feldman
Writing Headlines infographic
Barry Feldman
•
48.9K views
TWIG: the flexible, fast and secure template language for PHP by Cesare D'Amico
TWIG: the flexible, fast and secure template language for PHP
Cesare D'Amico
•
4.6K views
Kevin Indig - SEO and Growth Hacking by Kevin Indig
Kevin Indig - SEO and Growth Hacking
Kevin Indig
•
1.9K views
WordPress Security - WP Meetup München 24.9.2015 by stk_jj
WordPress Security - WP Meetup München 24.9.2015
stk_jj
•
2.6K views
We are WP, we are legion - WP Camp 2013 Berlin by stk_jj
We are WP, we are legion - WP Camp 2013 Berlin
stk_jj
•
1.3K views
WordPress Grundlagen Kurs by Benjamin Hartwich
WordPress Grundlagen Kurs
Benjamin Hartwich
•
8K views
Wordpress für Profis by Anika Erdmann
Wordpress für Profis
Anika Erdmann
•
1.3K views
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks by SEARCH ONE
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEARCH ONE
•
5.3K views
How to Become a Thought Leader in Your Niche by Leslie Samuel
How to Become a Thought Leader in Your Niche
Leslie Samuel
•
1.6M views
Similar to WordPress-Templates mit Twig erstellen - PHPUGFFM
PHPConf-TW 2012 # Twig by
PHPConf-TW 2012 # Twig
Wake Liu
2.3K views
•
29 slides
Front end ++: seo e flexbox by
Front end ++: seo e flexbox
Fernanda Bernardo
332 views
•
21 slides
Use Symfony2 components inside WordPress by
Use Symfony2 components inside WordPress
Maurizio Pelizzone
9.5K views
•
43 slides
Twig by
Twig
Sir-Arturio
1.3K views
•
41 slides
Extending Twig by
Extending Twig
Gerry Vandermaesen
1.8K views
•
29 slides
2022 HTML5: The future is now by
2022 HTML5: The future is now
Gonzalo Cordero
1.6K views
•
85 slides
Similar to WordPress-Templates mit Twig erstellen - PHPUGFFM
(20)
PHPConf-TW 2012 # Twig by Wake Liu
PHPConf-TW 2012 # Twig
Wake Liu
•
2.3K views
Front end ++: seo e flexbox by Fernanda Bernardo
Front end ++: seo e flexbox
Fernanda Bernardo
•
332 views
Use Symfony2 components inside WordPress by Maurizio Pelizzone
Use Symfony2 components inside WordPress
Maurizio Pelizzone
•
9.5K views
Twig by Sir-Arturio
Twig
Sir-Arturio
•
1.3K views
Extending Twig by Gerry Vandermaesen
Extending Twig
Gerry Vandermaesen
•
1.8K views
2022 HTML5: The future is now by Gonzalo Cordero
2022 HTML5: The future is now
Gonzalo Cordero
•
1.6K views
Html5 For Jjugccc2009fall by Shumpei Shiraishi
Html5 For Jjugccc2009fall
Shumpei Shiraishi
•
1.9K views
Mobile themes, QR codes, and shortURLs by Harvard Web Working Group
Mobile themes, QR codes, and shortURLs
Harvard Web Working Group
•
2.3K views
Html5 & CSS overview by Ivan Frantar
Html5 & CSS overview
Ivan Frantar
•
1.3K views
Presentation html5 css3 by thibaut by Thibaut Baillet
Presentation html5 css3 by thibaut
Thibaut Baillet
•
1.4K views
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011] by Aaron Gustafson
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
Aaron Gustafson
•
2.1K views
Building iPhone Web Apps using "classic" Domino by Rob Bontekoe
Building iPhone Web Apps using "classic" Domino
Rob Bontekoe
•
1.6K views
PSD to WordPress by Nile Flores
PSD to WordPress
Nile Flores
•
7K views
Html5 by Satoshi Kikuchi
Html5
Satoshi Kikuchi
•
1.6K views
Templates81 special document by Lan Nguyen
Templates81 special document
Lan Nguyen
•
197 views
Templates81 special document by Lan Nguyen
Templates81 special document
Lan Nguyen
•
274 views
An Introduction To HTML5 by Robert Nyman
An Introduction To HTML5
Robert Nyman
•
21.9K views
HTML5 workshop, part 1 by Robert Nyman
HTML5 workshop, part 1
Robert Nyman
•
5.7K views
CSS3 Takes on the World by Jonathan Snook
CSS3 Takes on the World
Jonathan Snook
•
1.5K views
Geek Moot '09 -- Smarty 101 by Ted Kulp
Geek Moot '09 -- Smarty 101
Ted Kulp
•
2.2K views
More from Walter Ebert
FrOSCon 2023: WordPress als ActivityPub-Instanz by
FrOSCon 2023: WordPress als ActivityPub-Instanz
Walter Ebert
3 views
•
31 slides
Hero Video Performance - DrupalCamp Ruhr by
Hero Video Performance - DrupalCamp Ruhr
Walter Ebert
14 views
•
25 slides
Sicherheit für WordPress by
Sicherheit für WordPress
Walter Ebert
630 views
•
31 slides
WordPress aufräumen - WordCamp Stuttgart by
WordPress aufräumen - WordCamp Stuttgart
Walter Ebert
1.5K views
•
32 slides
WordPress aufräumen by
WordPress aufräumen
Walter Ebert
1K views
•
24 slides
Hero Video Performance by
Hero Video Performance
Walter Ebert
1.2K views
•
25 slides
More from Walter Ebert
(20)
FrOSCon 2023: WordPress als ActivityPub-Instanz by Walter Ebert
FrOSCon 2023: WordPress als ActivityPub-Instanz
Walter Ebert
•
3 views
Hero Video Performance - DrupalCamp Ruhr by Walter Ebert
Hero Video Performance - DrupalCamp Ruhr
Walter Ebert
•
14 views
Sicherheit für WordPress by Walter Ebert
Sicherheit für WordPress
Walter Ebert
•
630 views
WordPress aufräumen - WordCamp Stuttgart by Walter Ebert
WordPress aufräumen - WordCamp Stuttgart
Walter Ebert
•
1.5K views
WordPress aufräumen by Walter Ebert
WordPress aufräumen
Walter Ebert
•
1K views
Hero Video Performance by Walter Ebert
Hero Video Performance
Walter Ebert
•
1.2K views
WordPress-Webseiten umziehen / online stellen by Walter Ebert
WordPress-Webseiten umziehen / online stellen
Walter Ebert
•
537 views
Using browser settings for performance by Walter Ebert
Using browser settings for performance
Walter Ebert
•
581 views
Das richtige WordPress-Theme finden by Walter Ebert
Das richtige WordPress-Theme finden
Walter Ebert
•
320 views
WordPress Health Check - WordCamp Würzburg by Walter Ebert
WordPress Health Check - WordCamp Würzburg
Walter Ebert
•
1.8K views
WordPress Health Check by Walter Ebert
WordPress Health Check
Walter Ebert
•
315 views
Making WordPress fast(er) by Walter Ebert
Making WordPress fast(er)
Walter Ebert
•
766 views
Testumgebungen für WordPress by Walter Ebert
Testumgebungen für WordPress
Walter Ebert
•
1.2K views
Modernism in Web Design by Walter Ebert
Modernism in Web Design
Walter Ebert
•
1.4K views
WordPress Multisite by Walter Ebert
WordPress Multisite
Walter Ebert
•
851 views
Weniger aus Bilder holen by Walter Ebert
Weniger aus Bilder holen
Walter Ebert
•
1.9K views
HTTPS + Let's Encrypt by Walter Ebert
HTTPS + Let's Encrypt
Walter Ebert
•
1.8K views
WordPress-Themes mit Twig entwickeln by Walter Ebert
WordPress-Themes mit Twig entwickeln
Walter Ebert
•
2.9K views
Mehr Performance für WordPress - WPFra by Walter Ebert
Mehr Performance für WordPress - WPFra
Walter Ebert
•
2.7K views
Sinn und Unsinn von SSL by Walter Ebert
Sinn und Unsinn von SSL
Walter Ebert
•
2.4K views
Recently uploaded
How to think like a threat actor for Kubernetes.pptx by
How to think like a threat actor for Kubernetes.pptx
LibbySchulze1
5 views
•
33 slides
hamro digital logics.pptx by
hamro digital logics.pptx
tupeshghimire
9 views
•
36 slides
Marketing and Community Building in Web3 by
Marketing and Community Building in Web3
Federico Ast
14 views
•
64 slides
IETF 118: Starlink Protocol Performance by
IETF 118: Starlink Protocol Performance
APNIC
394 views
•
22 slides
Building trust in our information ecosystem: who do we trust in an emergency by
Building trust in our information ecosystem: who do we trust in an emergency
Tina Purnat
109 views
•
18 slides
ATPMOUSE_융합2조.pptx by
ATPMOUSE_융합2조.pptx
kts120898
24 views
•
70 slides
Recently uploaded
(9)
How to think like a threat actor for Kubernetes.pptx by LibbySchulze1
How to think like a threat actor for Kubernetes.pptx
LibbySchulze1
•
5 views
hamro digital logics.pptx by tupeshghimire
hamro digital logics.pptx
tupeshghimire
•
9 views
Marketing and Community Building in Web3 by Federico Ast
Marketing and Community Building in Web3
Federico Ast
•
14 views
IETF 118: Starlink Protocol Performance by APNIC
IETF 118: Starlink Protocol Performance
APNIC
•
394 views
Building trust in our information ecosystem: who do we trust in an emergency by Tina Purnat
Building trust in our information ecosystem: who do we trust in an emergency
Tina Purnat
•
109 views
ATPMOUSE_융합2조.pptx by kts120898
ATPMOUSE_융합2조.pptx
kts120898
•
24 views
The Dark Web : Hidden Services by Anshu Singh
The Dark Web : Hidden Services
Anshu Singh
•
5 views
Affiliate Marketing by Navin Dhanuka
Affiliate Marketing
Navin Dhanuka
•
17 views
information by khelgishekhar
information
khelgishekhar
•
10 views
WordPress-Templates mit Twig erstellen - PHPUGFFM
4.
The Loop <?php get_header();
?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <h2><a href="<?php the_permalink(); ?>"> <?php echo strtoupper( get_the_title() ); ?> </a></h2> <?php if ( has_post_thumbnail() ) the_post_thumbnail(); ?> <div class="content"><?php the_content(); ?></div> <?php comments_template(); ?> <?php endif; ?> <?php get_footer(); ?> https://codex.wordpress.org/The_Loop
6.
Vorteile von Twig •
Trennung von HTML und PHP • Einfacher für Anfänger • Mehr Sicherheit • Vererbung von Templates • Erfahrung aus andere PHP-Projekte nutzen
7.
Projekte die Twig
nutzen • Symfony • Drupal 8 • EZ Publish • Bolt • Grav • Craft • Slim • Sculpin • Satis • Wallabag • (Laravel) • ...
8.
Nachteile von Twig •
Extra Template-Sprache • Code ist (etwas) langsamer
9.
Twig PHP-Erweiterung git clone
https://github.com/twigphp/Twig.git cd Twig/ext/twig phpize ./configure make sudo make install php.ini [twig] extension=twig.so
10.
composer.json { "require": { "php": "^5.3.2
|| ^7.0", "twig/twig": "^1.23" } } https://getcomposer.org/
11.
composer.json { "require": { "php": "^5.3.2
|| ^7.0", "twig/twig": "^1.23", "johnpbloch/wordpress": "*" }, "extra": { "wordpress-install-dir": "web" } } http://composer.rarst.net/
12.
Twig laden require_once '/path/to/vendor/autoload.php'; $loader
= new Twig_Loader_Filesystem('/path/to/templates'); $twig = new Twig_Environment($loader); // WordPress Voodoo $data→ echo $twig->render('index.twig', $data);
15.
WordPress Packagist { "repositories" :
[ {"type": "composer", "url": "http://wpackagist.org"} ], "require": { "php": "^5.3.2 || ^7.0", "composer/installers": "~1.0", "johnpbloch/wordpress": "*", "twig/twig": "^1.23", "wpackagist-plugin/timber-library": "*", "wpackagist-theme/twentyfifteen": "*" } "extra": { "wordpress-install-dir": "web/wp", "installer-paths": { "web/wp-content/mu-plugins/{$name}" : ["type:wordpress-muplugin"], "web/wp-content/plugins/{$name}": ["type:wordpress-plugin"], "web/wp-content/themes/{$name}": ["type:wordpress-theme"] } } } http://wpackagist.org/
16.
web/wp-config.php require __DIR__ .
'/../vendor/autoload.php'; ... define( 'WP_HOME', 'http://example.com' ); define( 'WP_SITEURL', 'http://example.com/wp' ); define( 'WP_CONTENT_URL', 'http://example.com/wp-content' ); define( 'WP_CONTENT_DIR', __DIR__ . '/wp-content/' ); https://codex.wordpress.org/Editing_wp-config.php
17.
web/index.php <?php define( 'WP_USE_THEMES', true
); require __DIR__ . '/wp/wp-blog-header.php';
18.
…/theme/single.php <?php $context = Timber::get_context(); $context['post']
= new TimberPost(); Timber::render( 'single.twig', $context );
20.
…/theme/functions.php function my_context( $data
) { $data['foo'] = 'bar'; $data['menu'] = new TimberMenu(); return $data; } add_filter( 'timber_context', 'my_context' );
21.
…/theme/page.php <?php $context = Timber::get_context(); $context['foo']
= 'bar'; $context['menu'] = new TimberMenu(); $context['post'] = new TimberPost(); Timber::render( 'page.twig', $context );
22.
Twig-Syntax {{ }} //
Ausgabe {% %} // Logik {# #} // Kommentar
23.
…/theme/views/single.twig {# Dies ist
ein Beitrag #} {% extends "base.twig" %} {% block content %} <h2>{{ post.title|upper }}</h2> {% if post.thumbnail %} <img src="{{ post.thumbnail.src }}"> {% endif %} <div class="content">{{ post.content }}</div> {% include 'comments.twig' %} {% endblock %}
24.
…/theme/views/single.twig {# Dies ist
ein Beitrag #} {% extends "base.twig" %} {% block content %} <h2>{{ post.title|upper }}</h2> {% if post.thumbnail %} <img src="{{ post.thumbnail.src }}"> {% endif %} <div class="content">{{ post.content }}</div> {% include 'comments.twig' %} {% endblock %}
25.
…/theme/views/single.twig {# Dies ist
ein Beitrag #} {% extends "base.twig" %} {% block content %} <h2>{{ post.title|upper }}</h2> {% if post.thumbnail %} <img src="{{ post.thumbnail.src }}"> {% endif %} <div class="content">{{ post.content }}</div> {% include 'comments.twig' %} {% endblock %}
26.
…/theme/views/single.twig {# Dies ist
ein Beitrag #} {% extends "base.twig" %} {% block content %} <h2>{{ post.title|upper }}</h2> {% if post.thumbnail %} <img src="{{ post.thumbnail.src }}"> {% endif %} <div class="content">{{ post.content }}</div> {% include 'comments.twig' %} {% endblock %}
27.
…/theme/views/single.twig {# Dies ist
ein Beitrag #} {% extends "base.twig" %} {% block content %} <h2>{{ post.title|upper }}</h2> {% if post.thumbnail %} <img src="{{ post.thumbnail.src }}"> {% endif %} <div class="content">{{ post.content }}</div> {% include 'comments.twig' %} {% endblock %}
28.
Posts // Posts $context['posts'] =
Timber::get_posts(); // WP_Query $args = [ 'post_type' => 'custom_post_type', 'post_status' => 'publish', 'posts_per_page' => 5, ]; $context['posts'] = Timber::get_posts( $args ); https://codex.wordpress.org/Class_Reference/WP_Query
29.
Posts {% for post
in posts %} <article id="post-{{ post.ID }}"> <h1> <a href="{{ post.link }}">{{ post.title }}</a> </h1> <div class="date"> {{ post.date }} </div> <div class="excerpt"> {{ post.content|excerpt(55) }} </div> </article> {% endfor %}
30.
Übersetzungen <?php echo __(
'Sorry, no posts.', 'textdomain' ) ); ?> <?php _e( 'Sorry, no posts.', 'textdomain' ); ?> -> {{ __('Sorry, no posts.', 'textdomain') }}
31.
WordPress-Funktionen <?php get_search_form(); ?> -> {{
fn('get_search_form') }}
32.
Benutzerdefinierte Felder <h3>{{ post.title
}}</h3> <div class="intro-text"> {{ post.custom_field }} </div> https://codex.wordpress.org/Custom_Fields
33.
Advanced Custom Fields <h3>{{
post.title }}</h3> <div class="intro-text"> {{ post.get_field('meins_intro_text') }} </div> https://wordpress.org/plugins/advanced-custom-fields/
34.
Timber-Klassen erweitern class MySitePost
extends TimberPost { var $_issue; public function issue() { if (!$this->_issue) { $issues = $this->get_terms('issues'); if (is_array($issues) && count($issues)) { $this->_issue = $issues[0]; } } return $this->_issue; } } https://github.com/jarednova/timber/wiki/Extending-Timber
35.
Eigene Twig-Filter erstellen add_filter(
'get_twig', function( $twig ) { $twig->addFilter( new Twig_SimpleFilter( 'comment_text', function( $text ) { return apply_filters( 'comment_text', $text ); } ) ); return $twig; } ); https://github.com/jarednova/timber/wiki/Extending-Timber
36.
Twig-Extensions nutzen add_filter( 'get_twig',
function( $twig ) { $twig->addExtension( new Twig_Extensions_Extension_Text() ); return $twig; } ); https://packagist.org/packages/twig/extensions
40.
Praxisbeispiele https://github.com/jarednova/timber/wiki/Showcase https://github.com/laras126/karenmcgrane https://github.com/laras126/mtnmeister-theme https://github.com/laras126/dijifi-theme http://responsivewebdesign.com/toast/backend/
41.
WordPress-Projekte starten composer create-project
roots/bedrock composer create-project org_heigl/wordpress_bootstrap composer create-project wee/wordpress-project
42.
WordPress-Termine Jeden 2. Dienstag
des Monats, WP-Meetup Frankfurt https://wpmeetup-frankfurt.de/ 16.-17. April 2016, WordCamp Nürnberg https://nuremberg.wordcamp.org/2016/ 24.-26. Juni 2016, WordCamp Europe, Wien https://2016.europe.wordcamp.org/ September/Oktober 2016, WordCamp Frankfurt https://frankfurt.wordcamp.org/
43.
walter.ebert.engineering @wltrd walterebert.de slideshare.net/walterebert