SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
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
Vorteile von Twig
• Trennung von HTML und PHP
• Einfacher für Anfänger
• Mehr Sicherheit
• Vererbung von Templates
• Erfahrung aus andere PHP-Projekte nutzen
Projekte die Twig nutzen
• Symfony
• Drupal 8
• EZ Publish
• Bolt
• Grav
• Craft
• Slim
• Sculpin
• Satis
• Wallabag
• (Laravel)
• ...
Nachteile von Twig
• Extra Template-Sprache
• Code ist (etwas) langsamer
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
composer.json
{
"require": {
"php": "^5.3.2 || ^7.0",
"twig/twig": "^1.23"
}
}
https://getcomposer.org/
composer.json
{
"require": {
"php": "^5.3.2 || ^7.0",
"twig/twig": "^1.23",
"johnpbloch/wordpress": "*"
},
"extra": {
"wordpress-install-dir": "web"
}
}
http://composer.rarst.net/
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);
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/
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
web/index.php
<?php
define( 'WP_USE_THEMES', true );
require __DIR__ . '/wp/wp-blog-header.php';
…/theme/single.php
<?php
$context = Timber::get_context();
$context['post'] = new TimberPost();
Timber::render( 'single.twig', $context );
…/theme/functions.php
function my_context( $data ) {
$data['foo'] = 'bar';
$data['menu'] = new TimberMenu();
return $data;
}
add_filter( 'timber_context', 'my_context' );
…/theme/page.php
<?php
$context = Timber::get_context();
$context['foo'] = 'bar';
$context['menu'] = new TimberMenu();
$context['post'] = new TimberPost();
Timber::render( 'page.twig', $context );
Twig-Syntax
{{ }} // Ausgabe
{% %} // Logik
{# #} // Kommentar
…/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 %}
…/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 %}
…/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 %}
…/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 %}
…/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 %}
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
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 %}
Übersetzungen
<?php echo __( 'Sorry, no posts.', 'textdomain' ) ); ?>
<?php _e( 'Sorry, no posts.', 'textdomain' ); ?>
->
{{ __('Sorry, no posts.', 'textdomain') }}
WordPress-Funktionen
<?php get_search_form(); ?>
->
{{ fn('get_search_form') }}
Benutzerdefinierte Felder
<h3>{{ post.title }}</h3>
<div class="intro-text">
{{ post.custom_field }}
</div>
https://codex.wordpress.org/Custom_Fields
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/
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
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
Twig-Extensions nutzen
add_filter( 'get_twig', function( $twig ) {
$twig->addExtension(
new Twig_Extensions_Extension_Text()
);
return $twig;
} );
https://packagist.org/packages/twig/extensions
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/
WordPress-Projekte starten
composer create-project roots/bedrock
composer create-project org_heigl/wordpress_bootstrap
composer create-project wee/wordpress-project
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/
walter.ebert.engineering
@wltrd
walterebert.de
slideshare.net/walterebert

Mais conteúdo relacionado

Mais procurados

HTML5: Markup Evolved
HTML5: Markup EvolvedHTML5: Markup Evolved
HTML5: Markup EvolvedBilly Hylton
 
The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsThe Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsHolly Schinsky
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AnglePablo Godel
 
Responsive Videos, mehr oder weniger
Responsive Videos, mehr oder wenigerResponsive Videos, mehr oder weniger
Responsive Videos, mehr oder wenigerWalter Ebert
 
What you need to know bout html5
What you need to know bout html5What you need to know bout html5
What you need to know bout html5Kevin DeRudder
 
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaLeave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaRobert Nyman
 
Scalable Front-end Development with Vue.JS
Scalable Front-end Development with Vue.JSScalable Front-end Development with Vue.JS
Scalable Front-end Development with Vue.JSGalih Pratama
 
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJRealize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJLeonardo Balter
 
An Introduction to Vuejs
An Introduction to VuejsAn Introduction to Vuejs
An Introduction to VuejsPaddy Lock
 
Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~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 PauloJavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao PauloRobert Nyman
 
Contributing to WordPress Core - Peter Wilson
Contributing to WordPress Core - Peter WilsonContributing to WordPress Core - Peter Wilson
Contributing to WordPress Core - Peter WilsonWordCamp Sydney
 
jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)jeresig
 
An introduction to Vue.js
An introduction to Vue.jsAn introduction to Vue.js
An introduction to Vue.jsPagepro
 
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 PauloHTML5, 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 PauloRobert Nyman
 

Mais procurados (20)

An introduction to Vue.js
An introduction to Vue.jsAn introduction to Vue.js
An introduction to Vue.js
 
HTML5: Markup Evolved
HTML5: Markup EvolvedHTML5: Markup Evolved
HTML5: Markup Evolved
 
The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsThe Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.js
 
jQuery UI and Plugins
jQuery UI and PluginsjQuery 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 AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
 
WordCamp Praga 2015
WordCamp Praga 2015WordCamp Praga 2015
WordCamp Praga 2015
 
Responsive Videos, mehr oder weniger
Responsive Videos, mehr oder wenigerResponsive Videos, mehr oder weniger
Responsive Videos, mehr oder weniger
 
What you need to know bout html5
What you need to know bout html5What you need to know bout html5
What you need to know bout html5
 
Css3
Css3Css3
Css3
 
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaLeave 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.JSScalable 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 - RJRealize 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 VuejsAn Introduction to Vuejs
An Introduction to Vuejs
 
Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~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 PauloJavaScript 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 WilsonContributing to WordPress Core - Peter Wilson
Contributing to WordPress Core - Peter Wilson
 
jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)
 
High-Quality JavaScript
High-Quality JavaScriptHigh-Quality JavaScript
High-Quality JavaScript
 
An introduction to Vue.js
An introduction to Vue.jsAn 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 PauloHTML5, 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
 

Destaque

Twig, the flexible, fast, and secure template language for PHP
Twig, the flexible, fast, and secure template language for PHPTwig, the flexible, fast, and secure template language for PHP
Twig, the flexible, fast, and secure template language for PHPFabien Potencier
 
Die Zeit der Passwörter ist abgelaufen
Die Zeit der Passwörter ist abgelaufenDie Zeit der Passwörter ist abgelaufen
Die Zeit der Passwörter ist abgelaufenJoachim Hummel
 
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)libertello GmbH
 
Sicher bloggen mit WordPresse - CMS absichern
Sicher bloggen mit WordPresse - CMS absichernSicher bloggen mit WordPresse - CMS absichern
Sicher bloggen mit WordPresse - CMS absichernSven Trautwein
 
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]Felix Beilharz ✓
 
Writing Headlines infographic
Writing Headlines infographicWriting Headlines infographic
Writing Headlines infographicBarry Feldman
 
TWIG: the flexible, fast and secure template language for PHP
TWIG: the flexible, fast and secure template language for PHPTWIG: the flexible, fast and secure template language for PHP
TWIG: the flexible, fast and secure template language for PHPCesare D'Amico
 
Kevin Indig - SEO and Growth Hacking
Kevin Indig - SEO and Growth HackingKevin Indig - SEO and Growth Hacking
Kevin Indig - SEO and Growth HackingKevin Indig
 
WordPress Security - WP Meetup München 24.9.2015
WordPress Security - WP Meetup München 24.9.2015WordPress Security - WP Meetup München 24.9.2015
WordPress Security - WP Meetup München 24.9.2015stk_jj
 
We are WP, we are legion - WP Camp 2013 Berlin
We are WP, we are legion - WP Camp 2013 BerlinWe are WP, we are legion - WP Camp 2013 Berlin
We are WP, we are legion - WP Camp 2013 Berlinstk_jj
 
Wordpress für Profis
Wordpress für ProfisWordpress für Profis
Wordpress für ProfisAnika Erdmann
 
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-FreaksSEARCH ONE
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Destaque (16)

Twig, the flexible, fast, and secure template language for PHP
Twig, the flexible, fast, and secure template language for PHPTwig, 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 abgelaufenDie 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)Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
 
Das Child-Theme-Dilemma
Das Child-Theme-DilemmaDas Child-Theme-Dilemma
Das Child-Theme-Dilemma
 
Wordpress Security
Wordpress SecurityWordpress Security
Wordpress Security
 
Sicher bloggen mit WordPresse - CMS absichern
Sicher bloggen mit WordPresse - CMS absichernSicher 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]7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
 
Writing Headlines infographic
Writing Headlines infographicWriting Headlines infographic
Writing Headlines infographic
 
TWIG: the flexible, fast and secure template language for PHP
TWIG: the flexible, fast and secure template language for PHPTWIG: 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 HackingKevin 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.2015WordPress 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 BerlinWe are WP, we are legion - WP Camp 2013 Berlin
We are WP, we are legion - WP Camp 2013 Berlin
 
WordPress Grundlagen Kurs
WordPress Grundlagen KursWordPress Grundlagen Kurs
WordPress Grundlagen Kurs
 
Wordpress für Profis
Wordpress für ProfisWordpress 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-FreaksSEO 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 NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Semelhante a WordPress-Templates mit Twig erstellen - PHPUGFFM

PHPConf-TW 2012 # Twig
PHPConf-TW 2012 # TwigPHPConf-TW 2012 # Twig
PHPConf-TW 2012 # TwigWake Liu
 
Use Symfony2 components inside WordPress
Use Symfony2 components inside WordPress Use Symfony2 components inside WordPress
Use Symfony2 components inside WordPress Maurizio Pelizzone
 
2022 HTML5: The future is now
2022 HTML5: The future is now2022 HTML5: The future is now
2022 HTML5: The future is nowGonzalo Cordero
 
Html5 & CSS overview
Html5 & CSS overviewHtml5 & CSS overview
Html5 & CSS overviewIvan Frantar
 
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibautPresentation html5 css3 by thibaut
Presentation html5 css3 by thibautThibaut 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]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" DominoBuilding iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoRob Bontekoe
 
PSD to WordPress
PSD to WordPressPSD to WordPress
PSD to WordPressNile Flores
 
Templates81 special document
Templates81 special documentTemplates81 special document
Templates81 special documentLan Nguyen
 
Templates81 special document
Templates81 special documentTemplates81 special document
Templates81 special documentLan Nguyen
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5Robert Nyman
 
HTML5 workshop, part 1
HTML5 workshop, part 1HTML5 workshop, part 1
HTML5 workshop, part 1Robert Nyman
 
CSS3 Takes on the World
CSS3 Takes on the WorldCSS3 Takes on the World
CSS3 Takes on the WorldJonathan Snook
 
Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Ted Kulp
 

Semelhante a WordPress-Templates mit Twig erstellen - PHPUGFFM (20)

PHPConf-TW 2012 # Twig
PHPConf-TW 2012 # TwigPHPConf-TW 2012 # Twig
PHPConf-TW 2012 # Twig
 
Front end ++: seo e flexbox
Front end ++: seo e flexboxFront end ++: seo e flexbox
Front end ++: seo e flexbox
 
Use Symfony2 components inside WordPress
Use Symfony2 components inside WordPress Use Symfony2 components inside WordPress
Use Symfony2 components inside WordPress
 
Twig
TwigTwig
Twig
 
Extending Twig
Extending TwigExtending Twig
Extending Twig
 
2022 HTML5: The future is now
2022 HTML5: The future is now2022 HTML5: The future is now
2022 HTML5: The future is now
 
Html5 For Jjugccc2009fall
Html5 For Jjugccc2009fallHtml5 For Jjugccc2009fall
Html5 For Jjugccc2009fall
 
Mobile themes, QR codes, and shortURLs
Mobile themes, QR codes, and shortURLsMobile themes, QR codes, and shortURLs
Mobile themes, QR codes, and shortURLs
 
Html5 & CSS overview
Html5 & CSS overviewHtml5 & CSS overview
Html5 & CSS overview
 
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibautPresentation 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]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" DominoBuilding iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" Domino
 
PSD to WordPress
PSD to WordPressPSD to WordPress
PSD to WordPress
 
Html5
Html5Html5
Html5
 
Templates81 special document
Templates81 special documentTemplates81 special document
Templates81 special document
 
Templates81 special document
Templates81 special documentTemplates81 special document
Templates81 special document
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5
 
HTML5 workshop, part 1
HTML5 workshop, part 1HTML5 workshop, part 1
HTML5 workshop, part 1
 
CSS3 Takes on the World
CSS3 Takes on the WorldCSS3 Takes on the World
CSS3 Takes on the World
 
Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101
 

Mais de Walter Ebert

FrOSCon 2023: WordPress als ActivityPub-Instanz
FrOSCon 2023: WordPress als ActivityPub-InstanzFrOSCon 2023: WordPress als ActivityPub-Instanz
FrOSCon 2023: WordPress als ActivityPub-InstanzWalter Ebert
 
Hero Video Performance - DrupalCamp Ruhr
Hero Video Performance - DrupalCamp RuhrHero Video Performance - DrupalCamp Ruhr
Hero Video Performance - DrupalCamp RuhrWalter Ebert
 
Sicherheit für WordPress
Sicherheit für WordPressSicherheit für WordPress
Sicherheit für WordPressWalter Ebert
 
WordPress aufräumen - WordCamp Stuttgart
WordPress aufräumen - WordCamp StuttgartWordPress aufräumen - WordCamp Stuttgart
WordPress aufräumen - WordCamp StuttgartWalter Ebert
 
WordPress aufräumen
WordPress aufräumenWordPress aufräumen
WordPress aufräumenWalter Ebert
 
Hero Video Performance
Hero Video PerformanceHero Video Performance
Hero Video PerformanceWalter Ebert
 
WordPress-Webseiten umziehen / online stellen
WordPress-Webseiten umziehen / online stellenWordPress-Webseiten umziehen / online stellen
WordPress-Webseiten umziehen / online stellenWalter Ebert
 
Using browser settings for performance
Using browser settings for performanceUsing browser settings for performance
Using browser settings for performanceWalter Ebert
 
Das richtige WordPress-Theme finden
Das richtige WordPress-Theme findenDas richtige WordPress-Theme finden
Das richtige WordPress-Theme findenWalter Ebert
 
WordPress Health Check - WordCamp Würzburg
WordPress Health Check - WordCamp WürzburgWordPress Health Check - WordCamp Würzburg
WordPress Health Check - WordCamp WürzburgWalter Ebert
 
WordPress Health Check
WordPress Health CheckWordPress Health Check
WordPress Health CheckWalter Ebert
 
Making WordPress fast(er)
Making WordPress fast(er)Making WordPress fast(er)
Making WordPress fast(er)Walter Ebert
 
Testumgebungen für WordPress
Testumgebungen für WordPressTestumgebungen für WordPress
Testumgebungen für WordPressWalter Ebert
 
Modernism in Web Design
Modernism in Web DesignModernism in Web Design
Modernism in Web DesignWalter Ebert
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress MultisiteWalter Ebert
 
Weniger aus Bilder holen
Weniger aus Bilder holenWeniger aus Bilder holen
Weniger aus Bilder holenWalter Ebert
 
HTTPS + Let's Encrypt
HTTPS + Let's EncryptHTTPS + Let's Encrypt
HTTPS + Let's EncryptWalter Ebert
 
WordPress-Themes mit Twig entwickeln
WordPress-Themes mit Twig entwickelnWordPress-Themes mit Twig entwickeln
WordPress-Themes mit Twig entwickelnWalter Ebert
 
Mehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFraMehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFraWalter Ebert
 
Sinn und Unsinn von SSL
Sinn und Unsinn von SSLSinn und Unsinn von SSL
Sinn und Unsinn von SSLWalter Ebert
 

Mais de Walter Ebert (20)

FrOSCon 2023: WordPress als ActivityPub-Instanz
FrOSCon 2023: WordPress als ActivityPub-InstanzFrOSCon 2023: WordPress als ActivityPub-Instanz
FrOSCon 2023: WordPress als ActivityPub-Instanz
 
Hero Video Performance - DrupalCamp Ruhr
Hero Video Performance - DrupalCamp RuhrHero Video Performance - DrupalCamp Ruhr
Hero Video Performance - DrupalCamp Ruhr
 
Sicherheit für WordPress
Sicherheit für WordPressSicherheit für WordPress
Sicherheit für WordPress
 
WordPress aufräumen - WordCamp Stuttgart
WordPress aufräumen - WordCamp StuttgartWordPress aufräumen - WordCamp Stuttgart
WordPress aufräumen - WordCamp Stuttgart
 
WordPress aufräumen
WordPress aufräumenWordPress aufräumen
WordPress aufräumen
 
Hero Video Performance
Hero Video PerformanceHero Video Performance
Hero Video Performance
 
WordPress-Webseiten umziehen / online stellen
WordPress-Webseiten umziehen / online stellenWordPress-Webseiten umziehen / online stellen
WordPress-Webseiten umziehen / online stellen
 
Using browser settings for performance
Using browser settings for performanceUsing browser settings for performance
Using browser settings for performance
 
Das richtige WordPress-Theme finden
Das richtige WordPress-Theme findenDas richtige WordPress-Theme finden
Das richtige WordPress-Theme finden
 
WordPress Health Check - WordCamp Würzburg
WordPress Health Check - WordCamp WürzburgWordPress Health Check - WordCamp Würzburg
WordPress Health Check - WordCamp Würzburg
 
WordPress Health Check
WordPress Health CheckWordPress Health Check
WordPress Health Check
 
Making WordPress fast(er)
Making WordPress fast(er)Making WordPress fast(er)
Making WordPress fast(er)
 
Testumgebungen für WordPress
Testumgebungen für WordPressTestumgebungen für WordPress
Testumgebungen für WordPress
 
Modernism in Web Design
Modernism in Web DesignModernism in Web Design
Modernism in Web Design
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress Multisite
 
Weniger aus Bilder holen
Weniger aus Bilder holenWeniger aus Bilder holen
Weniger aus Bilder holen
 
HTTPS + Let's Encrypt
HTTPS + Let's EncryptHTTPS + Let's Encrypt
HTTPS + Let's Encrypt
 
WordPress-Themes mit Twig entwickeln
WordPress-Themes mit Twig entwickelnWordPress-Themes mit Twig entwickeln
WordPress-Themes mit Twig entwickeln
 
Mehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFraMehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFra
 
Sinn und Unsinn von SSL
Sinn und Unsinn von SSLSinn und Unsinn von SSL
Sinn und Unsinn von SSL
 

Último

定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxBipin Adhikari
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleanscorenetworkseo
 

Último (20)

定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptx
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleans
 

WordPress-Templates mit Twig erstellen - PHPUGFFM