Successfully reported this slideshow.
Your SlideShare is downloading. ×

WP day Algérie : Concevoir un plugin WordPress

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
WordPress en tant que CMS
WordPress en tant que CMS
Loading in …3
×

Check these out next

1 of 41 Ad

More Related Content

Slideshows for you (20)

Similar to WP day Algérie : Concevoir un plugin WordPress (20)

Advertisement

Recently uploaded (20)

WP day Algérie : Concevoir un plugin WordPress

  1. 1. WordPress Day Algérie - 01/12/2011 Concevoir un plugin WordPress...
  2. 2. Concevoir un plugin WordPress... ‣Qui suis-je ? ‣BP BookMarklet ‣WP Idea Stream ‣BP Show Friends ‣BP My Home ‣Bowe Codes ‣http://imath.owni.fr ‣http://profiles.wordpress.org/users/imath/ ‣http://buddypress.org/community/members/imath/ ‣http://twitter.com/imath
  3. 3. Concevoir un plugin WordPress... ‣Intro... ‣Construire notre plugin « Hello Algérie » ✓ Pourquoi ? http://dl.dropbox.com/u/2322874/hello-algerie.zip ✓ Où ? ✓ Quelques bonnes pratiques ✓ Comment ? ✓ Plugin header, constantes, hooks ✓ DB, fichiers, capacités utilisateurs activation / désactivation ✓ Filtres et Actions ✓ Conditional tags et chargement des scripts et styles ✓ Shortcodes ✓ Ajax ✓ HTTP API ✓ Sidebar Widget API ✓ Custom Post Types et Custom Taxo ✓ Admin UI ✓ Internationalisation ‣Ressources
  4. 4. Concevoir un plugin WordPress... ‣Intro... Pourquoi ? Enrichir / modifier le comportement No limit ! + de 17000 plugins dans le WordPress.org Repository
  5. 5. Concevoir un plugin WordPress... Où ? ‣Intro... Back End Front End is_multisite() ?
  6. 6. Concevoir un plugin WordPress... APIsssssssss ‣Intro... Plugin API Widgets API http://codex.wordpress.org/Plugin_API Shortcode API Pluggable functions HTTP API http://codex.wordpress.org/Pluggable_Functions Dashboard Widgets API DB API .....
  7. 7. Concevoir un plugin WordPress... Les différents ‣Intro... types de plugin http://justintadlock.com/archives/2011/02/02/creating-a-custom-functions-plugin-for-end-users types répertoires chargement ? portée plugins /wp-content/plugins sur activation single ou multi mu-plugins /wp-content/mu-plugins automatique partout drop-ins /wp-content/ automatique partout et le functions.php de mon thème actif ??
  8. 8. Concevoir un plugin WordPress... Stocker des ‣Intro... infos Tables Configuration utilité ? wp_blog_version multi wp_blogs multi wp_[blog_id_]commentmeta single/multi les infos complémentaires des commentaires wp_[blog_id_]comments single/multi les commentaires des utilisateurs wp_[blog_id_]links single/multi blogroll les paramètres du blog (options, thèmes, widgets, plugins wp_[blog_id_]options single/multi activés...) les infos complémentaires des articles, pages et custom post wp_[blog_id_]postmeta single/multi types wp_[blog_id_]posts single/multi les articles, pages et custom post types wp_registration_log multi wp_signups multi wp_site multi wp_sitemeta multi wp_[blog_id_]term_relationships single/multi wp_[blog_id_]term_taxonomy single/multi taxonomies (catégories, tags, custom taxo) wp_[blog_id_]terms single/multi wp_usermeta single/multi les préférences utilisateurs et infos complémentaires wp_users single/multi les infos utilisateurs de base
  9. 9. Concevoir un plugin WordPress... Stocker des ‣Intro... infos http://codex.wordpress.org/Options_API http://codex.wordpress.org/Custom_Fields http://codex.wordpress.org/ Function_Reference/get_comment_meta http://codex.wordpress.org/ Function_Reference/get_user_meta
  10. 10. Concevoir un plugin WordPress... Créer des ‣Intro... tables dbDetla() http://codex.wordpress.org/Creating_Tables_with_Plugins
  11. 11. Concevoir un plugin WordPress... Dialoguer avec ‣Intro... la DB global $wpdb; http://codex.wordpress.org/Class_Reference/wpdb $wpdb->prefix = $table_prefix != $wpdb->base_prefix
  12. 12. Concevoir un plugin WordPress... Dialoguer avec ‣Intro... la DB global $wpdb; http://codex.wordpress.org/Class_Reference/wpdb SELECT
  13. 13. Concevoir un plugin WordPress... Dialoguer avec ‣Intro... la DB global $wpdb; http://codex.wordpress.org/Class_Reference/wpdb INSERT $wpdb->insert_id
  14. 14. Concevoir un plugin WordPress... Dialoguer avec ‣Intro... la DB global $wpdb; http://codex.wordpress.org/Class_Reference/wpdb UPDATE
  15. 15. Concevoir un plugin WordPress... Dialoguer avec ‣Intro... la DB global $wpdb; http://codex.wordpress.org/Class_Reference/wpdb DELETE Liens utiles : http://codex.wordpress.org/wpdb_Class#Protect_Queries_Against_SQL_Injection_Attacks http://codex.wordpress.org/Data_Validation et les wp_nonces http://codex.wordpress.org/Wordpress_Nonce_Implementation
  16. 16. Concevoir un plugin WordPress... stocker des ‣Intro... fichiers wp_upload_dir() http://codex.wordpress.org/Function_Reference/wp_upload_dir $uploads = wp_upload_dir(); $uploads[‘basedir’] $uploads[‘baseurl’] ...
  17. 17. Concevoir un plugin WordPress... Rôles et ‣Intro... capacités vérifier la capacité d’un membre http://codex.wordpress.org/Roles_and_Capabilities is_super_admin() current_user_can( ‘manage_options’ ) ‘edit_themes’ ‘manage_categories’ ...
  18. 18. Concevoir un plugin WordPress... Attention ! ‣Intro... !important WordPress Core
  19. 19. Concevoir un plugin WordPress... <?php ‣ Construire notre plugin « Hello Algérie » ... Hello Algérie ! ?> Téléchargement extension : http://dl.dropbox.com/u/2322874/hello-algerie.zip
  20. 20. Concevoir un plugin WordPress... Se préparer ‣ Construire notre plugin « Hello Algérie » http://codex.wordpress.org/Glossary#Text_editor
  21. 21. Concevoir un plugin WordPress... Quelques bonnes ‣ Construire notre plugin « Hello Algérie » pratiques function hi_alg_mafonction(){ $hi_alg_variable = $_POST[‘hi_alg_formdata’]; } Lien utile : http://codex.wordpress.org/WordPress_Coding_Standards
  22. 22. Concevoir un plugin WordPress... Quelques bonnes ‣ Construire notre plugin « Hello Algérie » pratiques
  23. 23. Concevoir un plugin WordPress... Plugin Header ‣ Construire notre plugin « Hello Algérie »
  24. 24. Concevoir un plugin WordPress... Constantes ‣ Construire notre plugin « Hello Algérie »
  25. 25. Concevoir un plugin WordPress... Activation / ‣ Construire notre plugin « Hello Algérie » désactivation
  26. 26. Concevoir un plugin WordPress... Filtres ‣ Construire notre plugin « Hello Algérie » http://codex.wordpress.org/Plugin_API#Filters
  27. 27. Concevoir un plugin WordPress... Actions ‣ Construire notre plugin « Hello Algérie » http://codex.wordpress.org/Plugin_API#Actions
  28. 28. Concevoir un plugin WordPress... Conditional Tags / ‣ Construire notre plugin « Hello Algérie » Scripts / css http://codex.wordpress.org/Conditional_Tags is_archive() is_single() is_admin() is_404() http://codex.wordpress.org/Function_Reference/wp_enqueue_script http://codex.wordpress.org/Function_Reference/wp_enqueue_style
  29. 29. Concevoir un plugin WordPress... Shortcodes API ‣ Construire notre plugin « Hello Algérie » http://codex.wordpress.org/Shortcode_API [hi_alg size="20"] Mon titre [/hi_alg] Code à rajouter pour un affichage dans un sidebar widget de type texte add_filter( 'widget_text', 'shortcode_unautop'); add_filter( 'widget_text', 'do_shortcode'); Dans un script... do_shortcode( '[hi_alg size="20"]' );
  30. 30. Concevoir un plugin WordPress... AJAX ‣ Construire notre plugin « Hello Algérie » http://codex.wordpress.org/AJAX_in_Plugins ajaxurl = "<?php echo admin_url('admin-ajax.php');?>"; action: ‘hi_alg_src_user’ wp_ajax_hi_alg_src_user’
  31. 31. Concevoir un plugin WordPress... HTTP API ‣ Construire notre plugin « Hello Algérie » http://planetozh.com/blog/2009/08/how-to-make- http-requests-with-wordpress/ Gravatar profile API Vimeo API
  32. 32. Concevoir un plugin WordPress... Sidebar Widget ‣ Construire notre plugin « Hello Algérie » API http://codex.wordpress.org/Widgets_API
  33. 33. Concevoir un plugin WordPress... Custom Post Types ‣ Construire notre plugin « Hello Algérie » et Custom Taxos http://codex.wordpress.org/Post_Types http://codex.wordpress.org/Taxonomies
  34. 34. Concevoir un plugin WordPress... ‣ Construire notre plugin « Hello Algérie » Admin UI Meta_box http://codex.wordpress.org/Function_Reference/add_meta_box Dashboard Widget API http://codex.wordpress.org/Dashboard_Widgets_API Admin menu & submenu http://codex.wordpress.org/Administration_Menus WP Admin Bar http://codex.wordpress.org/Function_Reference/add_menu ... et bientôt wp-pointer, nouvelle aide contextuelle et wp_editor()
  35. 35. Concevoir un plugin WordPress... ‣ Construire notre plugin « Hello Algérie » Admin UI Dashboard Widget API http://codex.wordpress.org/Dashboard_Widgets_API
  36. 36. Concevoir un plugin WordPress... ‣ Construire notre plugin « Hello Algérie » Admin UI Admin menu & submenu http://codex.wordpress.org/Administration_Menus add_dashboard_page() add_posts_page() add_media_page() add_links_page() add_pages_page() add_comments_page() add_theme_page() add_plugins_page() add_users_page() add_management_page() add_options_page() add_menu_page()
  37. 37. Concevoir un plugin WordPress... ‣ Construire notre plugin « Hello Algérie » Admin UI WP Admin Bar http://codex.wordpress.org/Function_Reference/add_menu
  38. 38. Concevoir un plugin WordPress... ‣ Construire notre plugin « Hello Algérie » Admin UI WP Pointer http://theme.fm/2011/09/introducing-pointers-in-wordpress-3-3-2407/
  39. 39. Concevoir un plugin WordPress... ‣ Construire notre plugin « Hello Algérie » Admin UI Help ! http://ottopress.com/2011/new-in-wordpress-3-3-more-useful-help-screens/ wp_editor() ! http://www.presscoders.com/2011/11/how-to-reuse-the-post-editor-in-wordpress-3-3/
  40. 40. Concevoir un plugin WordPress... ‣ Construire notre plugin « Hello Algérie » Internationalisation http://codex.wordpress.org/I18n_for_WordPress_Developers
  41. 41. Concevoir un plugin WordPress... ‣ Construire notre plugin « Hello Algérie » Ressources http://codex.wordpress.org/Main_Page http://justintadlock.com/plugindevbook http://delicious.com/imathieu/wordpress

×