Your SlideShare is downloading. ×
  • Like
So You Want to Build and Release a Plugin? WordCamp Lancaster 2014
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

So You Want to Build and Release a Plugin? WordCamp Lancaster 2014

  • 416 views
Published

My talk from WordCamp Lancaster 2014. Things to implement when preparing a plugin for public release.

My talk from WordCamp Lancaster 2014. Things to implement when preparing a plugin for public release.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
416
On SlideShare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. SO YOU WANT TO BUILD AND RELEASE A PLUGIN… Ryan Duff WordCamp Lancaster 2014
  • 2. ABOUT ME • Long time WordPress user • Plugin Developer • Meetup Organizer
  • 3. A BIT OF PLUGIN HISTORY
  • 4. my-hacks.php
  • 5. VERSION 1.2 (May 22, 2004)
  • 6. Plugin API
  • 7. THINGS TO CONSIDER
  • 8. YOUR CODE
  • 9. FILTERS
  • 10. apply_filters( $tag, $value, $var ... ) http://codex.wordpress.org/Function_Reference/apply_filters
  • 11. EXAMPLE $query_args = array( 'post_type' => 'books', 'posts_per_page' => 5, 'author' => 3 ); $books = new WP_Query( apply_filters( 'wclanc_books_query', $query_args ) );
  • 12. ACTIONS
  • 13. do_action( $tag, $arg_a, $arg_b, $etc ); http://codex.wordpress.org/Function_Reference/do_action
  • 14. EXAMPLE do_action( 'wclanc_books_before' ); echo '<div class="wclanc_books">'; while( $books->have_posts() ) : $books->the_post() echo '<div class="wclanc_book">'; do_action( 'wclanc_before_book_title', get_the_ID() ); echo '<h3 class="wclanc_book_title">' . get_the_title() . '</h3>'; do_action( 'wclanc_after_book_title', get_the_ID() ); echo '</div>'; endwhile; echo '</div>'; do_action( 'wclanc_books_after' );
  • 15. INTERNATIONALIZATION
  • 16. EXAMPLE /* * Plugin Name: i18n Test * Author: Ryan Duff * Text Domain: wclanc-i18n */ $text = __( ‘This is a test', ‘wclanc-i18n' ); _e( ‘This test will echo', ‘wclanc-i18n' ); https://codex.wordpress.org/I18n_for_WordPress_Developers
  • 17. PLUGIN SETTINGS http://themeoptions.wordpress.com/
  • 18. OTHER CONSIDERATIONS • Code style • Documentation • Errors
  • 19. PLUGIN LICENSE
  • 20. COMMON LICENSES • GPL v2/v3 • MIT (X11) • Apache License v2 • WTFPL v2 1) http://wordpress.org/plugins/about/ 2) http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses
  • 21. PLUGIN HOSTING
  • 22. • WordPress.org • GitHub • Both?
  • 23. QUESTIONS?
  • 24. RYAN DUFF RYAN@FUSIONIZED.COM @RYANCDUFF