Soumettre la recherche
Mettre en ligne
WordPress-Templates mit Twig erstellen - PHPUGFFM
•
2 j'aime
•
2,050 vues
Walter Ebert
Suivre
Vortrag bei der PHP Usergroup Frankfurt am 21. Januar 2016
Lire moins
Lire la suite
Internet
Signaler
Partager
Signaler
Partager
1 sur 43
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Bilder einbinden ist kein Thema, oder?
Bilder einbinden ist kein Thema, oder?
Walter Ebert
Bilder usw...
Bilder usw...
Walter Ebert
Mehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp Köln
Walter Ebert
HTML 5 - Overview
HTML 5 - Overview
Marcelio Leal
WordPress mit Composer und Git verwalten
WordPress mit Composer und Git verwalten
Walter Ebert
High Performance Images
High Performance Images
Walter Ebert
Enjoy the vue.js
Enjoy the vue.js
TechExeter
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009
Ralph Whitbeck
Recommandé
Bilder einbinden ist kein Thema, oder?
Bilder einbinden ist kein Thema, oder?
Walter Ebert
Bilder usw...
Bilder usw...
Walter Ebert
Mehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp Köln
Walter Ebert
HTML 5 - Overview
HTML 5 - Overview
Marcelio Leal
WordPress mit Composer und Git verwalten
WordPress mit Composer und Git verwalten
Walter Ebert
High Performance Images
High Performance Images
Walter Ebert
Enjoy the vue.js
Enjoy the vue.js
TechExeter
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009
Ralph Whitbeck
An introduction to Vue.js
An introduction to Vue.js
Javier Lafora Rey
HTML5: Markup Evolved
HTML5: Markup Evolved
Billy Hylton
The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.js
Holly Schinsky
jQuery UI and Plugins
jQuery UI and Plugins
Marc Grabanski
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
Pablo Godel
WordCamp Praga 2015
WordCamp Praga 2015
Tomasz Dziuda
Responsive Videos, mehr oder weniger
Responsive Videos, mehr oder weniger
Walter Ebert
What you need to know bout html5
What you need to know bout html5
Kevin DeRudder
Css3
Css3
Bronson Quick
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Robert Nyman
Scalable Front-end Development with Vue.JS
Scalable Front-end Development with Vue.JS
Galih Pratama
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Leonardo Balter
An Introduction to Vuejs
An Introduction to Vuejs
Paddy Lock
Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~
Sho Ito
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
Robert Nyman
Contributing to WordPress Core - Peter Wilson
Contributing to WordPress Core - Peter Wilson
WordCamp Sydney
jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)
jeresig
High-Quality JavaScript
High-Quality JavaScript
Marc Bächinger
An introduction to Vue.js
An introduction to Vue.js
Pagepro
HTML5, The Open Web, and what it means for you - MDN Hack Day, Sao Paulo
HTML5, The Open Web, and what it means for you - MDN Hack Day, Sao Paulo
Robert Nyman
Twig, the flexible, fast, and secure template language for PHP
Twig, the flexible, fast, and secure template language for PHP
Fabien Potencier
Die Zeit der Passwörter ist abgelaufen
Die Zeit der Passwörter ist abgelaufen
Joachim Hummel
Contenu connexe
Tendances
An introduction to Vue.js
An introduction to Vue.js
Javier Lafora Rey
HTML5: Markup Evolved
HTML5: Markup Evolved
Billy Hylton
The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.js
Holly Schinsky
jQuery UI and Plugins
jQuery UI and Plugins
Marc Grabanski
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
Pablo Godel
WordCamp Praga 2015
WordCamp Praga 2015
Tomasz Dziuda
Responsive Videos, mehr oder weniger
Responsive Videos, mehr oder weniger
Walter Ebert
What you need to know bout html5
What you need to know bout html5
Kevin DeRudder
Css3
Css3
Bronson Quick
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Robert Nyman
Scalable Front-end Development with Vue.JS
Scalable Front-end Development with Vue.JS
Galih Pratama
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Leonardo Balter
An Introduction to Vuejs
An Introduction to Vuejs
Paddy Lock
Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~
Sho Ito
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
Robert Nyman
Contributing to WordPress Core - Peter Wilson
Contributing to WordPress Core - Peter Wilson
WordCamp Sydney
jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)
jeresig
High-Quality JavaScript
High-Quality JavaScript
Marc Bächinger
An introduction to Vue.js
An introduction to Vue.js
Pagepro
HTML5, The Open Web, and what it means for you - MDN Hack Day, Sao Paulo
HTML5, The Open Web, and what it means for you - MDN Hack Day, Sao Paulo
Robert Nyman
Tendances
(20)
An introduction to Vue.js
An introduction to Vue.js
HTML5: Markup Evolved
HTML5: Markup Evolved
The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.js
jQuery UI and Plugins
jQuery UI and Plugins
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
WordCamp Praga 2015
WordCamp Praga 2015
Responsive Videos, mehr oder weniger
Responsive Videos, mehr oder weniger
What you need to know bout html5
What you need to know bout html5
Css3
Css3
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Scalable Front-end Development with Vue.JS
Scalable Front-end Development with Vue.JS
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
An Introduction to Vuejs
An Introduction to Vuejs
Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
Contributing to WordPress Core - Peter Wilson
Contributing to WordPress Core - Peter Wilson
jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)
High-Quality JavaScript
High-Quality JavaScript
An introduction to Vue.js
An introduction to Vue.js
HTML5, The Open Web, and what it means for you - MDN Hack Day, Sao Paulo
HTML5, The Open Web, and what it means for you - MDN Hack Day, Sao Paulo
En vedette
Twig, the flexible, fast, and secure template language for PHP
Twig, the flexible, fast, and secure template language for PHP
Fabien Potencier
Die Zeit der Passwörter ist abgelaufen
Die Zeit der Passwörter ist abgelaufen
Joachim Hummel
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
libertello GmbH
Das Child-Theme-Dilemma
Das Child-Theme-Dilemma
Torsten Landsiedel
Wordpress Security
Wordpress Security
Daniel Potthast
Sicher bloggen mit WordPresse - CMS absichern
Sicher bloggen mit WordPresse - CMS absichern
Sven Trautwein
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
Felix Beilharz ✓
Writing Headlines infographic
Writing Headlines infographic
Barry Feldman
TWIG: the flexible, fast and secure template language for PHP
TWIG: the flexible, fast and secure template language for PHP
Cesare D'Amico
Kevin Indig - SEO and Growth Hacking
Kevin Indig - SEO and Growth Hacking
Kevin Indig
WordPress Security - WP Meetup München 24.9.2015
WordPress Security - WP Meetup München 24.9.2015
stk_jj
We are WP, we are legion - WP Camp 2013 Berlin
We are WP, we are legion - WP Camp 2013 Berlin
stk_jj
WordPress Grundlagen Kurs
WordPress Grundlagen Kurs
Benjamin Hartwich
Wordpress für Profis
Wordpress für Profis
Anika Erdmann
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEARCH ONE
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
En vedette
(16)
Twig, the flexible, fast, and secure template language for PHP
Twig, the flexible, fast, and secure template language for PHP
Die Zeit der Passwörter ist abgelaufen
Die Zeit der Passwörter ist abgelaufen
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
Das Child-Theme-Dilemma
Das Child-Theme-Dilemma
Wordpress Security
Wordpress Security
Sicher bloggen mit WordPresse - CMS absichern
Sicher bloggen mit WordPresse - CMS absichern
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
Writing Headlines infographic
Writing Headlines infographic
TWIG: the flexible, fast and secure template language for PHP
TWIG: the flexible, fast and secure template language for PHP
Kevin Indig - SEO and Growth Hacking
Kevin Indig - SEO and Growth Hacking
WordPress Security - WP Meetup München 24.9.2015
WordPress Security - WP Meetup München 24.9.2015
We are WP, we are legion - WP Camp 2013 Berlin
We are WP, we are legion - WP Camp 2013 Berlin
WordPress Grundlagen Kurs
WordPress Grundlagen Kurs
Wordpress für Profis
Wordpress für Profis
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Similaire à WordPress-Templates mit Twig erstellen - PHPUGFFM
PHPConf-TW 2012 # Twig
PHPConf-TW 2012 # Twig
Wake Liu
Front end ++: seo e flexbox
Front end ++: seo e flexbox
Fernanda Bernardo
Use Symfony2 components inside WordPress
Use Symfony2 components inside WordPress
Maurizio Pelizzone
Twig
Twig
Sir-Arturio
Extending Twig
Extending Twig
Gerry Vandermaesen
2022 HTML5: The future is now
2022 HTML5: The future is now
Gonzalo Cordero
Html5 For Jjugccc2009fall
Html5 For Jjugccc2009fall
Shumpei Shiraishi
Mobile themes, QR codes, and shortURLs
Mobile themes, QR codes, and shortURLs
Harvard Web Working Group
Html5 & CSS overview
Html5 & CSS overview
Ivan Frantar
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibaut
Thibaut Baillet
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
Aaron Gustafson
Building iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" Domino
Rob Bontekoe
PSD to WordPress
PSD to WordPress
Nile Flores
Html5
Html5
Satoshi Kikuchi
Templates81 special document
Templates81 special document
Lan Nguyen
Templates81 special document
Templates81 special document
Lan Nguyen
An Introduction To HTML5
An Introduction To HTML5
Robert Nyman
HTML5 workshop, part 1
HTML5 workshop, part 1
Robert Nyman
CSS3 Takes on the World
CSS3 Takes on the World
Jonathan Snook
Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101
Ted Kulp
Similaire à WordPress-Templates mit Twig erstellen - PHPUGFFM
(20)
PHPConf-TW 2012 # Twig
PHPConf-TW 2012 # Twig
Front end ++: seo e flexbox
Front end ++: seo e flexbox
Use Symfony2 components inside WordPress
Use Symfony2 components inside WordPress
Twig
Twig
Extending Twig
Extending Twig
2022 HTML5: The future is now
2022 HTML5: The future is now
Html5 For Jjugccc2009fall
Html5 For Jjugccc2009fall
Mobile themes, QR codes, and shortURLs
Mobile themes, QR codes, and shortURLs
Html5 & CSS overview
Html5 & CSS overview
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibaut
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
Building iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" Domino
PSD to WordPress
PSD to WordPress
Html5
Html5
Templates81 special document
Templates81 special document
Templates81 special document
Templates81 special document
An Introduction To HTML5
An Introduction To HTML5
HTML5 workshop, part 1
HTML5 workshop, part 1
CSS3 Takes on the World
CSS3 Takes on the World
Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101
Plus de Walter Ebert
FrOSCon 2023: WordPress als ActivityPub-Instanz
FrOSCon 2023: WordPress als ActivityPub-Instanz
Walter Ebert
Hero Video Performance - DrupalCamp Ruhr
Hero Video Performance - DrupalCamp Ruhr
Walter Ebert
Sicherheit für WordPress
Sicherheit für WordPress
Walter Ebert
WordPress aufräumen - WordCamp Stuttgart
WordPress aufräumen - WordCamp Stuttgart
Walter Ebert
WordPress aufräumen
WordPress aufräumen
Walter Ebert
Hero Video Performance
Hero Video Performance
Walter Ebert
WordPress-Webseiten umziehen / online stellen
WordPress-Webseiten umziehen / online stellen
Walter Ebert
Using browser settings for performance
Using browser settings for performance
Walter Ebert
Das richtige WordPress-Theme finden
Das richtige WordPress-Theme finden
Walter Ebert
WordPress Health Check - WordCamp Würzburg
WordPress Health Check - WordCamp Würzburg
Walter Ebert
WordPress Health Check
WordPress Health Check
Walter Ebert
Making WordPress fast(er)
Making WordPress fast(er)
Walter Ebert
Testumgebungen für WordPress
Testumgebungen für WordPress
Walter Ebert
Modernism in Web Design
Modernism in Web Design
Walter Ebert
WordPress Multisite
WordPress Multisite
Walter Ebert
Weniger aus Bilder holen
Weniger aus Bilder holen
Walter Ebert
HTTPS + Let's Encrypt
HTTPS + Let's Encrypt
Walter Ebert
WordPress-Themes mit Twig entwickeln
WordPress-Themes mit Twig entwickeln
Walter Ebert
Mehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFra
Walter Ebert
Sinn und Unsinn von SSL
Sinn und Unsinn von SSL
Walter Ebert
Plus de Walter Ebert
(20)
FrOSCon 2023: WordPress als ActivityPub-Instanz
FrOSCon 2023: WordPress als ActivityPub-Instanz
Hero Video Performance - DrupalCamp Ruhr
Hero Video Performance - DrupalCamp Ruhr
Sicherheit für WordPress
Sicherheit für WordPress
WordPress aufräumen - WordCamp Stuttgart
WordPress aufräumen - WordCamp Stuttgart
WordPress aufräumen
WordPress aufräumen
Hero Video Performance
Hero Video Performance
WordPress-Webseiten umziehen / online stellen
WordPress-Webseiten umziehen / online stellen
Using browser settings for performance
Using browser settings for performance
Das richtige WordPress-Theme finden
Das richtige WordPress-Theme finden
WordPress Health Check - WordCamp Würzburg
WordPress Health Check - WordCamp Würzburg
WordPress Health Check
WordPress Health Check
Making WordPress fast(er)
Making WordPress fast(er)
Testumgebungen für WordPress
Testumgebungen für WordPress
Modernism in Web Design
Modernism in Web Design
WordPress Multisite
WordPress Multisite
Weniger aus Bilder holen
Weniger aus Bilder holen
HTTPS + Let's Encrypt
HTTPS + Let's Encrypt
WordPress-Themes mit Twig entwickeln
WordPress-Themes mit Twig entwickeln
Mehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFra
Sinn und Unsinn von SSL
Sinn und Unsinn von SSL
Dernier
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
nirzagarg
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
Neha Pandey
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
SUHANI PANDEY
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
SUHANI PANDEY
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
growthgrids
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
kajalverma014
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
SUHANI PANDEY
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
Call Girls in Nagpur High Profile Call Girls
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
HenryBriggs2
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
rahman018755
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
roncy bisnoi
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
SUHANI PANDEY
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
ruhi
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
SUHANI PANDEY
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
Delhi Call girls
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
kojalkojal131
Dernier
(20)
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
WordPress-Templates mit Twig erstellen - PHPUGFFM
1.
2.
3.
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
5.
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);
13.
14.
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 );
19.
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
37.
38.
39.
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
Télécharger maintenant