2. Programma
• De 10 geboden van WordPress Development
– Floris P. Lof
• WordPress op nginx en FastCGI
– Wouter Oosterveld
• WordPress 3.5 ‘Elvin’ -> medialibrary
– Marko Heijnen
• Noaproat…
• Borrel
3. Floris P. Lof
Webdeveloper bij
TriMM Internet Reality
Technisch blogger bij
WPRealm.com
Twitter: @__jester
5. Waarom 10 geboden
• Consequent werken met je teamleden
• Constant jezelf blijven verbeteren
• Automatisch meer leren van het systeem waar
je mee werkt
• Veiligheid en snelheid
• Makkelijke overdraagbare code schrijven
6. 1
WP_DEBUG staat op development altijd op true
en op production altijd op false.
Je systeem wordt sneller,
Je kunt plugins van derden beoordelen,
Je code blijft beter overeind bij WP-updates.
In je wp-config.php
<?php
/* Server depending vars */
if( stristr( $_SERVER['SERVER_NAME'], “projectname.localhost" ) ) {
define( ‘WP_DEBUG’, true );
} else {
define( ‘WP_DEBUG’, false);
}
?>
7. 2
Volg WordPress’ coding standards en CSS
standards
Je code is beter leesbaar
Je code is begrijpbaar
Maakt soms code-commentaar overbodig
Links
http://codex.wordpress.org/WordPress_Coding_Standards
http://make.wordpress.org/core/handbook/coding-standards/css/
8. 3
Documenteer je code
• Leg altijd uit wat een functie doet
• Heldere docblocks
• Wie is de auteur
• …et cetera
• Maar ook geen overbodige comments…
• $i = 5 // i is now five…duh!
Complexe code kun je over een paar jaar
nog steeds goed begrijpen,
mits goed gedocumenteerd!
Link
http://codex.wordpress.org/Commenting_Code
9. 4
Leer de WordPress core kennen
Kijk eens onder de motorkap van WordPress,
wandel door de core-bestanden en functies
Want:
Je vindt nieuwe hooks
Je leert nieuwe functionaliteit (bv: interne API’s)
Je komt er achter ‘wanneer’ welk onderdeel wordt gebruikt
10. 5
Maak gebruik van interne API’s en functies
Plugins kunnen er op inhaken,
Ze zijn geoptimaliseert voor de WP omgeving
Voorbeelden:
wp_mail();
wp_redirect();
wp_get_remote();
wp_strip_all_tags();
11. 6
Geef je code ‘namespaces’
Voorkom conflicten met code van anderen
met name plugins van derden
Voorbeeld:
Fout: function get_event_data();
Goed: function fpl_ get_event_data();
12. 7
Never trust user input! Sanitize & escape!
Bijvoorbeeld: Veiligheid voor alles,
WP heeft heel veel ‘veiligheids’-functies
sanitize_email(); Ingebouwd die je kunt gebruiken
esc_url();
esc_attr();
Lees vooral Hoofdstuk 6 van Professional WordPress Plugin Development
13. 8
Gebruik nonces
<form action=... >
<?php wp_nonce_field('my-nonce'); ?>
...
</form>
Wederom veiligheid voor alles,
Houdt SPAM tegen
Beveiliging voor alle formulieren
OOK in je back-end!
Number used only once
14. 9
Maak gebruik van i18n
<a href=“#”>Submit</a>
<a href=“#”><?php _e( ‘Submit’, ‘your_text_domain’ ); ?></a>
Maak de strings in je code vertaalbaar
Voor jezelf en voor anderen
18
i18n = internationalization
15. 10
Performance, performance, performance
Bij alles wat je doet moet je de snelheid
van je systeem in de gaten houden.
• Net teveel, en geen overbodige plugins gebruiken
• Schrijf slimme/zuinige PHP-code, gebruik WP-transients waar nodig
• Indien nodig: maak gebruik van een caching plugin (b.v. W3 Total Cache)
• Javascripts in de footer
• Slimme CSS selectors
• Geen grote DOM manipulaties
• Optimaliseer je afbeeldingen
• …et cetera