The WordPress Hacker's Guide to the \Galaxy() [@Baltimore PHP]
Upcoming SlideShare
Loading in...5
×
 

The WordPress Hacker's Guide to the \Galaxy() [@Baltimore PHP]

on

  • 495 views

As someone who started with PHP as a self-described "WordPress hacker", I had a hard time finding the path to becoming a knowledgeable programmer. Having now stumbled a short way up that path, I think ...

As someone who started with PHP as a self-described "WordPress hacker", I had a hard time finding the path to becoming a knowledgeable programmer. Having now stumbled a short way up that path, I think we can make it easier for anyone who's interested in finding it. I'll share a brief overview of the tools and concepts I wish I'd known getting started, including why the command line matters, how version control fits with WP, MVC architecture, interfaces/adapters, general PHP tips, etc.

Statistics

Views

Total Views
495
Views on SlideShare
431
Embed Views
64

Actions

Likes
0
Downloads
1
Comments
0

2 Embeds 64

http://notrobotic.com 44
http://localhost 20

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

The WordPress Hacker's Guide to the \Galaxy() [@Baltimore PHP] Presentation Transcript

  • 1. The WordPress Hacker’s Guide to the Galaxy()Saturday, March 2, 13
  • 2. @rhodesjason github.com/jasonrhodes notrobotic.comSaturday, March 2, 13
  • 3. Saturday, March 2, 13
  • 4. Saturday, March 2, 13
  • 5. Saturday, March 2, 13
  • 6. WordPress, as described by various PHP developers Terrible design buried under a mountain of spaghetti code Reading through [WordPress code] is like jabbing red-hot fire pokeys into your eyes. BEHOLD WORDPRESS, DESTROYER OF CPUS remote shell with cms on side, aka: shit shit plugins WordPress is for cat pictures and diary entries. code is crapcrapcrap F$%@ THAT F$%@ THAT F$%@ THAT F$%@ THAT F$%@ THAT F$%@ THAT WordPress is... just adequate WordPress is for amateurs. WordPress is... terrifyingly insecure. No good default caching, it will kill your server if you don’t know what you’re doing A really terrible database structure Stack Overflow spam questions Not a “real” CMS and definitely not a “real” frameworkSaturday, March 2, 13
  • 7. WORDPRESS IS NOT THE DEVILSaturday, March 2, 13
  • 8. WORDPRESS IS PHPSaturday, March 2, 13
  • 9. WORDPRESS IS CODESaturday, March 2, 13
  • 10. BETTER CODE BETTER PHP BETTER WORDPRESSSaturday, March 2, 13
  • 11. THE WP HACKER’S GUIDE TO THE GALAXYSaturday, March 2, 13
  • 12. +Saturday, March 2, 13
  • 13. Saturday, March 2, 13
  • 14. Saturday, March 2, 13
  • 15. Saturday, March 2, 13
  • 16. THE WP HACKER’S GUIDE TO THE GALAXYSaturday, March 2, 13
  • 17. FOLDER STRUCTURESaturday, March 2, 13
  • 18. mysite /wp-admin /wp-content /wp-includes index.php wp-config.php wp-{etc}.phpSaturday, March 2, 13
  • 19. mysite index.php /wpSaturday, March 2, 13
  • 20. WP GIANTS: MARK JAQUITHSaturday, March 2, 13
  • 21. Saturday, March 2, 13
  • 22. Saturday, March 2, 13
  • 23. Saturday, March 2, 13
  • 24. mysite /config /environments environment-config.php /public /content /wp index.php wp-config.php /vendorSaturday, March 2, 13
  • 25. Saturday, March 2, 13
  • 26. Saturday, March 2, 13
  • 27. LET’S WRITE SOME PLUGIN CODESaturday, March 2, 13
  • 28. Saturday, March 2, 13
  • 29. YES, PLUGINS (NOT FUNCTIONS.PHP)Saturday, March 2, 13
  • 30. Saturday, March 2, 13
  • 31. MUST USE PLUGINSSaturday, March 2, 13
  • 32. content /plugins cornify.php /batcache /themes /uploadsSaturday, March 2, 13
  • 33. content /mu-plugins /plugins cornify.php /batcache /themes /uploadsSaturday, March 2, 13
  • 34. Saturday, March 2, 13
  • 35. What’s the difference between actions and filters? Filters filter. Actions (usually) have side effects. http://wp.smashingmagazine.com/2012/02/16/ inside-wordpress-actions-filters/Saturday, March 2, 13
  • 36. CALLABLE add_action(“action_name”, “function_name”);Saturday, March 2, 13
  • 37. array($object, “method_name”)Saturday, March 2, 13
  • 38. LET’S USE OOPSaturday, March 2, 13
  • 39. WP GIANTS: SCRIBUSaturday, March 2, 13
  • 40. Saturday, March 2, 13
  • 41. Saturday, March 2, 13
  • 42. LET’S NAMESPACESaturday, March 2, 13
  • 43. Saturday, March 2, 13
  • 44. Saturday, March 2, 13
  • 45. MORE GOOD THINGS ‣ Load JS/CSS with enqueue functions ‣ Write tests (PHPUnit and QUnit) ‣ Experiment with WP-CLI ‣ Fun with caching ‣ Use the APIs ‣ Deploy smartSaturday, March 2, 13
  • 46. ‣ Database API ‣ Rewrite API ‣ HTTP API ‣ Settings API ‣ File Header API ‣ Shortcode API ‣ Filesystem API ‣ Theme Modification API ‣ Metadata API ‣ Theme Customization API ‣ Options API ‣ Transients API ‣ Plugin API ‣ Widgets API ‣ Quicktags API ‣ XML-RPC WordPress APISaturday, March 2, 13
  • 47. mysite current -> releases/1362181983 /releases /1362181983 /1362153455 /1362141927 /shared /config /filesSaturday, March 2, 13
  • 48. Saturday, March 2, 13
  • 49. Saturday, March 2, 13
  • 50. @rhodesjason Please rate this talk https://joind.in/8209 Slides, notes, example code: http://notrobotic.com/talks/ 2013-02-20-wpgalaxy.htmlSaturday, March 2, 13