Erfahrungsbericht
aus der Plugin-Entwicklung
Nico Danneberg [ @nida78 ]
Inhalt
• me, myself & WP
• Plugins in WP
– Interaktion mit WP
• Backend für Plugins
– Integration mit mehreren Plugins
21....
about.me/nida78
Ich…
• 37J-v-2K
• Unternehmer
• Entwickler
• Dozent
• Netzwerker
• Sportler
…und WordPress
• 2004
– eigene...
Plugins in WP
• Basis / Grundlagen / Einführung
– Bernhards Workshop [ @2ndKauBoy ]
– codex.wordpress.org/Writing_a_Plugin...
Beispiel
vcat-reverse-text.php
<?php
/*
Plugin Name: VCAT Reverse Text
Plugin URI: http://www.vcat.de/edulabs/projekte/wor...
Interaktion 1
Actions
• Liste aller Action Hooks verfügbar
– http://codex.wordpress.org/Plugin_API/Action_Reference
• Wich...
Beispiel Actions
vcat-reverse-text.php
function vrt_save_post( $post_id ) {
$title = get_the_title( $post_id );
add_post_m...
Interaktion 2
Filters
• Liste aller Filters verfügbar
– http://codex.wordpress.org/Plugin_API/Filter_Reference
• Wichtige ...
Beispiel Filters
vcat-reverse-text.php
function vrt_reverse_title( $title, $id = null ) {
return ( is_admin() ) ? $title :...
Interaktion 3
Shortcodes
• Shortcode API verfügbar
– https://codex.wordpress.org/Shortcode_API
• Wichtige Funktionen:
– ad...
Beispiel Shortcode
vcat-reverse-text.php
function vrt_reverse_shortcode( $atts, $content = "" ) {
$atts = shortcode_atts( ...
Beispiel Shortcode
Editor & Ausgabe
21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 12
Eigenes Plugin-Backend
• Eintrag im Menü erzeugen
add_menu_page( 'VCAT EDULABS', // Titel der Seite
'VCAT EDULABS', // Tit...
Eigenes Plugin-Backend
• Funktion mit Leben füllen
function vcat_core_main_options_page() {
echo '<div class="wrap vcat-ed...
Hauptseite
für mehrere Plugins
• Untermenü erzeugen
– Funktion add_submenu_page() erwartet
„parent_slug“
• Gemeinsame Funk...
Gemeinsame Startseite
für mehrere Plugins
• Jedes Plugin benutzt einen Filter…
add_filter( 'vcat_plugins_list',
'vcat_geo_...
Gemeinsame Startseite
für mehrere Plugins
• Hauptseite ruft die Filter der Plugins…
$vcat_plugins_data = apply_filters(
'v...
Fragen? Fragen!
privat
• M nico@danneberg.de
• W n1da.net
• T @nida78
dienstlich
• M nico.danneberg@vcat.de
• W vcat.de
• ...
Nächste SlideShare
Wird geladen in …5
×

#wpdm - Erfahrungsbericht aus der Plugin-Entwicklung

943 Aufrufe

Veröffentlicht am

Mein Vortrag beim WordPress Meetup Potsdam (#wpdm) am 21. April 2015 als ein Erfahrungsbericht aus der Plugin-Entwicklung

Veröffentlicht in: Internet
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
943
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
266
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

#wpdm - Erfahrungsbericht aus der Plugin-Entwicklung

  1. 1. Erfahrungsbericht aus der Plugin-Entwicklung Nico Danneberg [ @nida78 ]
  2. 2. Inhalt • me, myself & WP • Plugins in WP – Interaktion mit WP • Backend für Plugins – Integration mit mehreren Plugins 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 2
  3. 3. about.me/nida78 Ich… • 37J-v-2K • Unternehmer • Entwickler • Dozent • Netzwerker • Sportler …und WordPress • 2004 – eigener Blog • 2011 – erstes WP-Projekt bei VCAT • 2012 – #wpdm += @nida78 • 2013 – VCAT EDULABS mit WP- Plugin für Geo-Locations 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 3
  4. 4. Plugins in WP • Basis / Grundlagen / Einführung – Bernhards Workshop [ @2ndKauBoy ] – codex.wordpress.org/Writing_a_Plugin • Unterm Strich – Datei im Verzeichnis /wp-content/plugins – Ordner möglich, meist auch sinnvoll 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 4
  5. 5. Beispiel vcat-reverse-text.php <?php /* Plugin Name: VCAT Reverse Text Plugin URI: http://www.vcat.de/edulabs/projekte/wordpress/reverse-text/ Description: Dieses Plugin dreht Text um :) Version: 0.0.1 Author: VCAT Consulting GmbH (Nico Danneberg) Author URI: http://www.vcat.de */ … 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 5
  6. 6. Interaktion 1 Actions • Liste aller Action Hooks verfügbar – http://codex.wordpress.org/Plugin_API/Action_Reference • Wichtige Funktionen: – add_action – remove_action – has_action – did_action 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 6
  7. 7. Beispiel Actions vcat-reverse-text.php function vrt_save_post( $post_id ) { $title = get_the_title( $post_id ); add_post_meta( $post_id, "vcat_reverse_title", strrev( $title ), true ); } add_action( 'save_post', 'vrt_save_post' ); 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 7
  8. 8. Interaktion 2 Filters • Liste aller Filters verfügbar – http://codex.wordpress.org/Plugin_API/Filter_Reference • Wichtige Funktionen: – add_filter – remove_filter – has_filter – apply_filters 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 8
  9. 9. Beispiel Filters vcat-reverse-text.php function vrt_reverse_title( $title, $id = null ) { return ( is_admin() ) ? $title : strrev( $title ); } add_filter( 'the_title', 'vrt_reverse_title' ); 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 9
  10. 10. Interaktion 3 Shortcodes • Shortcode API verfügbar – https://codex.wordpress.org/Shortcode_API • Wichtige Funktionen: – add_shortcode – remove_shortcode – do_shortcode – shortcode_atts 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 10
  11. 11. Beispiel Shortcode vcat-reverse-text.php function vrt_reverse_shortcode( $atts, $content = "" ) { $atts = shortcode_atts( array( 'bold' => false ), $atts, 'reverse' ); if( $atts[ 'bold' ] ) { return "<strong>" . strrev( $content ) . "</strong>"; } else { return strrev( $content ); } } add_shortcode( 'reverse', 'vrt_reverse_shortcode' ); 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 11
  12. 12. Beispiel Shortcode Editor & Ausgabe 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 12
  13. 13. Eigenes Plugin-Backend • Eintrag im Menü erzeugen add_menu_page( 'VCAT EDULABS', // Titel der Seite 'VCAT EDULABS', // Titel im Menü 'manage_options', // Rolle 'vcat-options', // Slug 'vcat_core_options_page', // Funktion 'images/favicon.ico', // Icon 26 // Position ); 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 13
  14. 14. Eigenes Plugin-Backend • Funktion mit Leben füllen function vcat_core_main_options_page() { echo '<div class="wrap vcat-edulabs">'; screen_icon( 'vcat-edulabs' ); echo '<h2>VCAT EDULABS Optionen</h2>'; /*** TODO ***/ • Eigene Optionen über Settings verwalten – http://codex.wordpress.org/Settings_API 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 14
  15. 15. Hauptseite für mehrere Plugins • Untermenü erzeugen – Funktion add_submenu_page() erwartet „parent_slug“ • Gemeinsame Funktionen definieren – Menü, Seite, Kopf & Fuß, (rechte) Sidebar • Kern auslagern & einbinden – Unterordner, eigenes Plugin, o.ä. – Prüfen, ob Funktion bereits vorhanden if( !function_exists( 'vcat_core_create_main…' ) ) { 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 15
  16. 16. Gemeinsame Startseite für mehrere Plugins • Jedes Plugin benutzt einen Filter… add_filter( 'vcat_plugins_list', 'vcat_geo_add_plugins_list_info' ); • …und schreibt Daten in ein Array function vcat_geo_add_plugins_list_info( $list ) { array_push( $list, array( 'name' => 'VCAT EDULABS Posts at Google Maps (GEO-Plugin)', 'image' => plugins_url( 'vcat-posts-google-maps.png', __FILE__ ), 'settings' => 'admin.php?page=vcat_geo_settings' ) ); return $list; } 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 16
  17. 17. Gemeinsame Startseite für mehrere Plugins • Hauptseite ruft die Filter der Plugins… $vcat_plugins_data = apply_filters( 'vcat_plugins_list', array() ); • …und wertet die Rückgabe aus if( sizeof( $vcat_plugins_data ) == 0 ) { /*** Schade, nix da! ***/ } else { foreach( $vcat_plugins_data as $vcat_plugin ) { /*** Ausgaben pro Plugin ***/ } } 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 17
  18. 18. Fragen? Fragen! privat • M nico@danneberg.de • W n1da.net • T @nida78 dienstlich • M nico.danneberg@vcat.de • W vcat.de • T @VCATconsulting 21.04.2015 WP Meetup Potsdam - Erfahrungsbericht aus der Plugin-Entwicklung 18

×