wordpress theme & plugin development best practices - phpxperts seminar 2011

20
WordPress Theme Plugins Development Best Practices Tareq Hasan Software Engineer, Leevio http://tareq.weDevs.com @tareq_cse

Upload: tareq-hasan

Post on 29-Jan-2015

107 views

Category:

Technology


0 download

DESCRIPTION

phpXperts group is the biggest PHP group of Bangladesh. This time I took a mini presentation only for the 6 minutes time frame and thats it.

TRANSCRIPT

Page 1: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

WordPress Theme Plugins Development

Best Practices

Tareq HasanSoftware Engineer, Leevio

http://tareq.weDevs.com@tareq_cse

Page 2: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Use WordPress Coding Standards

http://codex.wordpress.org/WordPress_Coding_Standards

Page 3: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Add Scripts/Styles Intelligently ..(1)

WRONG

http://codex.wordpress.org/Function_Reference/wp_enqueue_scripthttp://codex.wordpress.org/Function_Reference/wp_enqueue_style

Page 4: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

RIGHT

Add Scripts/Styles Intelligently ..(2)

Page 5: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

WRONG

Use escape functions in forms..(1)

Page 6: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

RIGHT

Use escape functions in forms..(2)

esc_html()

esc_attr()

Page 7: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Use escape functions in forms..(3)

esc_attr()esc_url()esc_js()

esc_html()

More validation functionshttp://codex.wordpress.org/Data_Validation

Page 8: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Prevent CSRF AttackUse Nonces

http://codex.wordpress.org/WordPress_Nonces

wp_nonce_field()

Page 9: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Prevent CSRF AttackUse Nonces

http://codex.wordpress.org/WordPress_Nonces

wp_nonce_field()wp_nonce_url()

wp_verify_nonce()wp_create_nonce()

check_admin_referer()check_ajax_referer()

Page 10: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Let developers extendyour code without touching your code

http://codex.wordpress.org/Plugin_API

do_action()apply_filters()

Page 11: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Ensure Theme/Plugins generate no errors with

WP_DEBUG enabled

Page 12: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Do not hard code WordPress paths

$plugin_path = get_bloginfo('wpurl')."/wp-content/plugins/wp-codebox";

$plugin_path = plugins_url('', __FILE__);

WRONG

RIGHT

Page 13: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Use database securely..(1)Insert

Good

Bad

http://codex.wordpress.org/Class_Reference/wpdb

Page 14: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Good

Bad

Use database securely..(1)Update

Page 15: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Good

Bad

Use database securely..(1)Prepared Statement

Page 16: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Make your theme child theme awareget_template_directory_uri()

get_stylesheet_directory_uri()

For parent theme

For child theme

Page 17: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Localization is important

load_theme_textdomain()load_plugin_textdomain()

http://codex.wordpress.org/I18n_for_WordPress_Developers

Page 18: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Use the settings API

Store theme and pluginoption settings efficiently

http://codex.wordpress.org/Settings_API

Page 19: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Make your plugin cache aware

http://codex.wordpress.org/Class_Reference/WP_Object_Cache

Page 20: WordPress Theme & Plugin development best practices - phpXperts seminar 2011

Thanks

Questions?