Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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

1.225 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
  • Als Erste(r) kommentieren

#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

×