SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Eigene ShortcodesEigene Shortcodes
WP Meetup Hamburg am 24.9.2013
HamburgHamburg
WordPressWordPress MeetupMeetup
Codex-Beispiel
/**
* Intro Shortcode
*/
function intro_shortcode( $atts, $content = null ) {
return '<span class="intro">' . $content . '</span>';
}
add_shortcode( 'intro', 'intro_shortcode' );
HamburgHamburg
WordPressWordPress MeetupMeetup
Shortcode in Shortcode?
/**
* Intro Shortcode
*/
function intro_shortcode( $atts, $content = null ) {
return '<span class="intro">' . do_shortcode($content) .
'</span>';
}
add_shortcode( 'intro', 'intro_shortcode' );
HamburgHamburg
WordPressWordPress MeetupMeetup
Parameter
function caption_shortcode( $atts, $content = null ) {
extract( shortcode_atts( array( 'class' => 'caption',), $atts ) );
return '<span class="' . esc_attr($class) . '">' . $content .
'</span>';
}
HamburgHamburg
WordPressWordPress MeetupMeetup
Problem!
●
Kein Problem:
[intro]Test[/intro]
●
Problem:
[intro]Absatz 1
Absatz 2[/intro]
HamburgHamburg
WordPressWordPress MeetupMeetup
Erzeugtes HTML:
<div class="intro">Nicht lange darauf kam Kay mit großen
Fausthandschuhen und seinem Schlitten auf dem Rücken. Er
flüsterte Gerda in die Ohren: Ich habe Erlaubnis bekommen,
auf den großen Platz zu fahren, wo die Anderen spielen und
fort war er.</p>
<p>Nicht lange darauf kam Kay mit großen Fausthandschuhen
und seinem Schlitten auf dem Rücken. Er flüsterte Gerda in
die Ohren: Ich habe Erlaubnis bekommen, auf den großen
Platz zu fahren, wo die Anderen spielen und fort war er.</div>
HamburgHamburg
WordPressWordPress MeetupMeetup
Problem bekannt...
●
http://core.trac.wordpress.org/ticket/12061
●
http://core.trac.wordpress.org/ticket/24846
HamburgHamburg
WordPressWordPress MeetupMeetup
… Gefahr gebannt?
function prefix_remove_wpautop( $content ) {
$content =
do_shortcode( shortcode_unautop( $content ) );
$content = preg_replace( '#^</p>|^<br />|
<p>$#', '', $content );
return $content;
}
Und ähnliche Lösungen ...
HamburgHamburg
WordPressWordPress MeetupMeetup
Meine Lösung
/**
* Intro Shortcode
*/
function intro_shortcode( $atts, $content = null ) {
return '<div class="intro"><p>' . $content . '</p></div>';
}
add_shortcode( 'intro', 'intro_shortcode' );
CSS:
.intro p {
color: #458792;
font-size: 200%;
}
HamburgHamburg
WordPressWordPress MeetupMeetup
Weiterführende Links

Dokumentation (inkl noch mehr Links)

http://codex.wordpress.org/Shortcode_API

Shortcode generieren lassen:

http://generatewp.com/shortcodes/

Shortcode als Quicktag einfügen

http://wordpress.org/plugins/addquicktag/

Contenu connexe

Similaire à Shortcodes erstellen mit WordPress

Jpgraph - eine Einführung
Jpgraph - eine EinführungJpgraph - eine Einführung
Jpgraph - eine Einführungfrankstaude
 
PHP-SEO Vortrag SEOCampixx 2013 von Sebastian Blum
PHP-SEO Vortrag SEOCampixx 2013 von Sebastian BlumPHP-SEO Vortrag SEOCampixx 2013 von Sebastian Blum
PHP-SEO Vortrag SEOCampixx 2013 von Sebastian BlumSebastian Blum
 
Drupal 8: TWIG Template Engine
Drupal 8:  TWIG Template EngineDrupal 8:  TWIG Template Engine
Drupal 8: TWIG Template Enginedrubb
 
IPC 2015 Zend Framework 3 Reloaded
IPC 2015 Zend Framework 3 ReloadedIPC 2015 Zend Framework 3 Reloaded
IPC 2015 Zend Framework 3 ReloadedRalf Eggert
 
Welches Webframework passt zu mir? (WJAX)
Welches Webframework passt zu mir? (WJAX)Welches Webframework passt zu mir? (WJAX)
Welches Webframework passt zu mir? (WJAX)Alexander Casall
 
Agiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific LanguagesAgiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific LanguagesDominik Hirt
 
Einführung React Native
Einführung React NativeEinführung React Native
Einführung React NativeMarkus Günther
 
Infizierter Shop. Eine Magento Case Study
Infizierter Shop. Eine Magento Case StudyInfizierter Shop. Eine Magento Case Study
Infizierter Shop. Eine Magento Case StudyTUDOCK GmbH
 
Migrationspfade für Angular 2
Migrationspfade für Angular 2Migrationspfade für Angular 2
Migrationspfade für Angular 2Manfred Steyer
 
ApEx effektiv - DOAG 2010 - OPITZ CONSULTING - Stephan Engel
ApEx effektiv - DOAG 2010 - OPITZ CONSULTING - Stephan EngelApEx effektiv - DOAG 2010 - OPITZ CONSULTING - Stephan Engel
ApEx effektiv - DOAG 2010 - OPITZ CONSULTING - Stephan EngelOPITZ CONSULTING Deutschland
 
Python builds mit ant
Python builds mit antPython builds mit ant
Python builds mit antroskakori
 
Angular von 0 auf 100
Angular von 0 auf 100Angular von 0 auf 100
Angular von 0 auf 100Yvette Teiken
 
Entwickeln mit Wordpress
Entwickeln mit WordpressEntwickeln mit Wordpress
Entwickeln mit WordpressBlogwerk AG
 
Prototype 1.7
Prototype 1.7Prototype 1.7
Prototype 1.7msebel
 
Slides__Splunk_UserGroup_20220407.pdf
Slides__Splunk_UserGroup_20220407.pdfSlides__Splunk_UserGroup_20220407.pdf
Slides__Splunk_UserGroup_20220407.pdfAlexanderStz1
 
Apache CouchDB at PHPUG Karlsruhe, Germany (Jan 27th 2009)
Apache CouchDB at PHPUG Karlsruhe, Germany (Jan 27th 2009)Apache CouchDB at PHPUG Karlsruhe, Germany (Jan 27th 2009)
Apache CouchDB at PHPUG Karlsruhe, Germany (Jan 27th 2009)Nils Adermann
 
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
.NET Summit 2016 München: EcmaScript 2015+ with TypeScriptManfred Steyer
 
PostgreSQL: Eigene Aggregate schreiben
PostgreSQL: Eigene Aggregate schreibenPostgreSQL: Eigene Aggregate schreiben
PostgreSQL: Eigene Aggregate schreibenHans-Jürgen Schönig
 

Similaire à Shortcodes erstellen mit WordPress (20)

Jpgraph - eine Einführung
Jpgraph - eine EinführungJpgraph - eine Einführung
Jpgraph - eine Einführung
 
PHP-SEO Vortrag SEOCampixx 2013 von Sebastian Blum
PHP-SEO Vortrag SEOCampixx 2013 von Sebastian BlumPHP-SEO Vortrag SEOCampixx 2013 von Sebastian Blum
PHP-SEO Vortrag SEOCampixx 2013 von Sebastian Blum
 
Drupal 8: TWIG Template Engine
Drupal 8:  TWIG Template EngineDrupal 8:  TWIG Template Engine
Drupal 8: TWIG Template Engine
 
IPC 2015 Zend Framework 3 Reloaded
IPC 2015 Zend Framework 3 ReloadedIPC 2015 Zend Framework 3 Reloaded
IPC 2015 Zend Framework 3 Reloaded
 
Welches Webframework passt zu mir? (WJAX)
Welches Webframework passt zu mir? (WJAX)Welches Webframework passt zu mir? (WJAX)
Welches Webframework passt zu mir? (WJAX)
 
Agiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific LanguagesAgiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific Languages
 
Einführung React Native
Einführung React NativeEinführung React Native
Einführung React Native
 
Typescript
TypescriptTypescript
Typescript
 
Infizierter Shop. Eine Magento Case Study
Infizierter Shop. Eine Magento Case StudyInfizierter Shop. Eine Magento Case Study
Infizierter Shop. Eine Magento Case Study
 
Migrationspfade für Angular 2
Migrationspfade für Angular 2Migrationspfade für Angular 2
Migrationspfade für Angular 2
 
ApEx effektiv - DOAG 2010 - OPITZ CONSULTING - Stephan Engel
ApEx effektiv - DOAG 2010 - OPITZ CONSULTING - Stephan EngelApEx effektiv - DOAG 2010 - OPITZ CONSULTING - Stephan Engel
ApEx effektiv - DOAG 2010 - OPITZ CONSULTING - Stephan Engel
 
Python builds mit ant
Python builds mit antPython builds mit ant
Python builds mit ant
 
Angular von 0 auf 100
Angular von 0 auf 100Angular von 0 auf 100
Angular von 0 auf 100
 
Entwickeln mit Wordpress
Entwickeln mit WordpressEntwickeln mit Wordpress
Entwickeln mit Wordpress
 
Prototype 1.7
Prototype 1.7Prototype 1.7
Prototype 1.7
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Slides__Splunk_UserGroup_20220407.pdf
Slides__Splunk_UserGroup_20220407.pdfSlides__Splunk_UserGroup_20220407.pdf
Slides__Splunk_UserGroup_20220407.pdf
 
Apache CouchDB at PHPUG Karlsruhe, Germany (Jan 27th 2009)
Apache CouchDB at PHPUG Karlsruhe, Germany (Jan 27th 2009)Apache CouchDB at PHPUG Karlsruhe, Germany (Jan 27th 2009)
Apache CouchDB at PHPUG Karlsruhe, Germany (Jan 27th 2009)
 
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
 
PostgreSQL: Eigene Aggregate schreiben
PostgreSQL: Eigene Aggregate schreibenPostgreSQL: Eigene Aggregate schreiben
PostgreSQL: Eigene Aggregate schreiben
 

Plus de Torsten Landsiedel

Das Health Check Plugin in der Praxis
Das Health Check Plugin in der PraxisDas Health Check Plugin in der Praxis
Das Health Check Plugin in der PraxisTorsten Landsiedel
 
UX-Probleme mit dem neuen Block-Editor (Gutenberg)
UX-Probleme mit dem neuen Block-Editor (Gutenberg)UX-Probleme mit dem neuen Block-Editor (Gutenberg)
UX-Probleme mit dem neuen Block-Editor (Gutenberg)Torsten Landsiedel
 
Werde Übersetzer! Werde Translation Editor!
Werde Übersetzer!  Werde Translation Editor!Werde Übersetzer!  Werde Translation Editor!
Werde Übersetzer! Werde Translation Editor!Torsten Landsiedel
 
Die schmutzige Seite von WordPress
Die schmutzige Seite von WordPressDie schmutzige Seite von WordPress
Die schmutzige Seite von WordPressTorsten Landsiedel
 
The Child Theme Dilemma (EN) - Milano Edition
The Child Theme Dilemma (EN) - Milano EditionThe Child Theme Dilemma (EN) - Milano Edition
The Child Theme Dilemma (EN) - Milano EditionTorsten Landsiedel
 
Umgang mit Frustration im Open-Source-Projekt WordPress
Umgang mit Frustration im Open-Source-Projekt WordPressUmgang mit Frustration im Open-Source-Projekt WordPress
Umgang mit Frustration im Open-Source-Projekt WordPressTorsten Landsiedel
 
Wie ich durch Support und Übersetzung ein (besserer) Entwickler geworden bin
Wie ich durch Support und Übersetzung ein (besserer) Entwickler geworden binWie ich durch Support und Übersetzung ein (besserer) Entwickler geworden bin
Wie ich durch Support und Übersetzung ein (besserer) Entwickler geworden binTorsten Landsiedel
 
Contact Form 7 - Pflicht und Kür
Contact Form 7 - Pflicht und KürContact Form 7 - Pflicht und Kür
Contact Form 7 - Pflicht und KürTorsten Landsiedel
 
Social Media Menüs in WordPress
Social Media Menüs in WordPressSocial Media Menüs in WordPress
Social Media Menüs in WordPressTorsten Landsiedel
 
WordPress absichern - WP Camp 2012 in Berlin
WordPress absichern - WP Camp 2012 in BerlinWordPress absichern - WP Camp 2012 in Berlin
WordPress absichern - WP Camp 2012 in BerlinTorsten Landsiedel
 
Podcasting mit WordPress.com-Blogs
Podcasting mit WordPress.com-BlogsPodcasting mit WordPress.com-Blogs
Podcasting mit WordPress.com-BlogsTorsten Landsiedel
 
WordPress.com-Blogs individualisieren
WordPress.com-Blogs individualisierenWordPress.com-Blogs individualisieren
WordPress.com-Blogs individualisierenTorsten Landsiedel
 

Plus de Torsten Landsiedel (18)

Das Health Check Plugin in der Praxis
Das Health Check Plugin in der PraxisDas Health Check Plugin in der Praxis
Das Health Check Plugin in der Praxis
 
UX-Probleme mit dem neuen Block-Editor (Gutenberg)
UX-Probleme mit dem neuen Block-Editor (Gutenberg)UX-Probleme mit dem neuen Block-Editor (Gutenberg)
UX-Probleme mit dem neuen Block-Editor (Gutenberg)
 
Oh, no! DSGVO.
Oh, no! DSGVO.Oh, no! DSGVO.
Oh, no! DSGVO.
 
WordPress kaputt machen
WordPress kaputt machenWordPress kaputt machen
WordPress kaputt machen
 
Werde Übersetzer! Werde Translation Editor!
Werde Übersetzer!  Werde Translation Editor!Werde Übersetzer!  Werde Translation Editor!
Werde Übersetzer! Werde Translation Editor!
 
Die schmutzige Seite von WordPress
Die schmutzige Seite von WordPressDie schmutzige Seite von WordPress
Die schmutzige Seite von WordPress
 
The Child Theme Dilemma (EN) - Milano Edition
The Child Theme Dilemma (EN) - Milano EditionThe Child Theme Dilemma (EN) - Milano Edition
The Child Theme Dilemma (EN) - Milano Edition
 
Umgang mit Frustration im Open-Source-Projekt WordPress
Umgang mit Frustration im Open-Source-Projekt WordPressUmgang mit Frustration im Open-Source-Projekt WordPress
Umgang mit Frustration im Open-Source-Projekt WordPress
 
The Child Theme Dilemma (EN)
The Child Theme Dilemma (EN)The Child Theme Dilemma (EN)
The Child Theme Dilemma (EN)
 
Wie ich durch Support und Übersetzung ein (besserer) Entwickler geworden bin
Wie ich durch Support und Übersetzung ein (besserer) Entwickler geworden binWie ich durch Support und Übersetzung ein (besserer) Entwickler geworden bin
Wie ich durch Support und Übersetzung ein (besserer) Entwickler geworden bin
 
Das Child-Theme-Dilemma
Das Child-Theme-DilemmaDas Child-Theme-Dilemma
Das Child-Theme-Dilemma
 
Contact Form 7 - Pflicht und Kür
Contact Form 7 - Pflicht und KürContact Form 7 - Pflicht und Kür
Contact Form 7 - Pflicht und Kür
 
Social Media Menüs in WordPress
Social Media Menüs in WordPressSocial Media Menüs in WordPress
Social Media Menüs in WordPress
 
Mitmachen bei WordPress
Mitmachen bei WordPressMitmachen bei WordPress
Mitmachen bei WordPress
 
MetaMeetup
MetaMeetupMetaMeetup
MetaMeetup
 
WordPress absichern - WP Camp 2012 in Berlin
WordPress absichern - WP Camp 2012 in BerlinWordPress absichern - WP Camp 2012 in Berlin
WordPress absichern - WP Camp 2012 in Berlin
 
Podcasting mit WordPress.com-Blogs
Podcasting mit WordPress.com-BlogsPodcasting mit WordPress.com-Blogs
Podcasting mit WordPress.com-Blogs
 
WordPress.com-Blogs individualisieren
WordPress.com-Blogs individualisierenWordPress.com-Blogs individualisieren
WordPress.com-Blogs individualisieren
 

Shortcodes erstellen mit WordPress