wordpress harrisburg meetup - best practices

Post on 14-May-2015

252 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

doing_it_right() with Wordpress

Ryan DuffHarrisburg WordPress Meetup

February 19th, 2013

Why do it right

• Save yourself time

• Save others time

• Save your clients money

• Save everybody from headaches

Ways to do it right

• Learn to organize your code

•... document your code

• ... optimize your code

• Don’t reinvent the wheel

• Action Hooks and Filters

• Other very bad things to avoid

First things first

• Use the debug bar plugin

define(‘WP_DEBUG’, true);define(‘WP_DEBUG_DISPLAY, false);define(‘SAVEQUERIES’, true);

Organize your code

• What goes in a plugin?

• What goes in a theme?

• Utilize mu-plugins/

Organize your code

http://codex.wordpress.org/Template_Hierarchy

Document your code

/** * Simple and uniform HTTP request API. * * Standardizes the HTTP requests for WordPress. Handles cookies, gzip encoding and decoding, chunk * decoding, if HTTP 1.1 and various other difficult HTTP protocol implementations. * * @link http://trac.wordpress.org/ticket/4779 HTTP API Proposal * * @package WordPress * @subpackage HTTP * @since 2.7.0 */

Optimize your code

• Cache

• Get rid of rotten database queries

Optimize your code

set_transient( $transient, $value, $expiration );

get_transient( $transient );

delete_transient( $transient );

Optimize your code

• Make sure the code you’re expecting matches

• Use $wpdb class in the correct cases, WP_Query otherwise

• Sanitize everything http://codex.wordpress.org/Data_Validation

Don’t reinvent the wheel

• Clever code is not clever.

• Use built in APIs and methods

WordPress APIs

Action hooks and filters

• Hooks are places to DO things

• Filters are ways to CHANGE things

More things not to do

• Don’t downgrade jQuery

• Don’t create unnecessary settings

• Don’t forget to update

Secure code

• esc_html()

• esc_attr()

• esc_url()

• $wpdb->prepare()

http://codex.wordpress.org/Data_Validation

How to learn more

• Read the code and contribute http://core.trac.wordpress.org

• Ask questions in #wordpress on freenode

Questions?

Ryan DuffFusionized Technologyhttp://fusionized.com

@ryancduff

top related