Upload
boiteaweb
View
6.850
Download
0
Embed Size (px)
Citation preview
Comment (bien)
créer des hooks
dans vos (supers)
développements
WordPress.Julio Potier - WP Tech 2015
WP TECH 201505 décembre
à Nantes
Comment (bien)
créer des hooks
dans vos (supers)
développements
WordPress.
Interrogation surprise
Qui n'a jamais lu ses leçons sur les hooks ?
Qui n'a pas révisé ses hooks avant de venir ?
Citez-moi le nom d'un hook au hasard !
Julio Potier - WP Tech 2015
Rappel sur les hooks
Les Hooks permettent de :
Modifier, supprimer, ajouter des comportements ou des
contenus dans les plugins, les thèmes, et le Core.
Il existe 2 types de Hooks :
Action et Filtre
Julio Potier - WP Tech 2015
Rappel sur les hooks
Action :
add_action(), remove_action() & do_action()
Filtre :
add_filter(), remove_filter() & apply_filters()
Julio Potier - WP Tech 2015
Rappel sur les hooks
Action :
add_action(), remove_action() & do_action()
Filtre :
add_filter(), remove_filter() & apply_filters()
Julio Potier - WP Tech 2015
Pourquoi ajouter des Hooks ?
➔ WordPress le fait et le permet !
➔ Gagner en flexibilité
➔ Aide pour votre support
➔ Aide pour votre dév
➔ Pas de fork de votre dév
Julio Potier - WP Tech 2015
Comment ajouter des Hooks ?
do_action( 'hookname', 'foo', 'bar' );
apply_filters( 'hookname', 'value', 'foo' );
Julio Potier - WP Tech 2015
do_action( 'hookname', 'foo', 'bar' );
apply_filters( 'hookname', 'value', 'foo' );
Julio Potier - WP Tech 2015
Comment Où ajouter des Hooks ?
Où ajouter des Hooks ?
Julio Potier - WP Tech 2015
Un filtre en début de fonction
pour court-circuiter le comportement normal
get_option(), WordPress 1.5.0
Où ajouter des Hooks ?
Julio Potier - WP Tech 2015
Une action en début de fonction pour préparer le
terrain ou permettre du display
wp_spam_comment(), WordPress 2.9.0
Où ajouter des Hooks ?
Julio Potier - WP Tech 2015
Un filtre en milieu de fonction pour modifier des
contenus avant affichage
admin-header.php, WordPress 2.3.0
Où ajouter des Hooks ?
Julio Potier - WP Tech 2015
Une action en milieu ou fin de fonction pour
permettre l'ajout de comportements
class-wp-admin-bar.php, WordPress 3.1.0
Où ajouter des Hooks ?
Julio Potier - WP Tech 2015
Un filtre en fin de fonction pour le modifier le
return $value;
get_option(), WordPress 1.5.0
Comment nommer ses Hooks ?
Julio Potier - WP Tech 2015
1. Préfixe
1.1. baw, rocket, secupress
2. contexte
2.1. before, after, args, foo
3. action
3.1. delete, do_this, do_that
do_action( 'secupress.before.rrmdir', $dir );
Comment nommer ses Hooks ?
Julio Potier - WP Tech 2015
Ils peuvent être dynamiques et contenir une $var !
shortcode_atts(), WordPress 3.6.0
wp_insert_post(), WordPress 3.7.0
get_option(), WordPress 1.5.0
Comment nommer ses Hooks ?
Julio Potier - WP Tech 2015
5. Utiliser 2 fois le même nom . . . . .
4. Déplacer le préfixe . . . . . . . . . . . . .
3. Être trop précis . . . . . . . . . . . . . . . . .
2. Être trop vague . . . . . . . . . . . . . . . .
1. Oublier de mettre un mot clé . . .
Quels paramètres utiliser ?
Julio Potier - WP Tech 2015
shortcode_atts(), WordPress 4.4.0
edit-form-advanced.php, WordPress 3.0.0
wp_head(), WordPress 1.5.0
has_action(), did_action(), doing_action(), current_action()
Utilisez vos hooks !
Julio Potier - WP Tech 2015
secupress_upgrader(), SecuPress 1.0alpha
Ne pas renommer un hook, en créer un second.
À éviter
Julio Potier - WP Tech 2015
get_password_reset_key(), WordPress 1.5.1
Éviter le trop dynamique
À éviter
Julio Potier - WP Tech 2015
wp_transition_post_status(), WordPress 2.3.0
wp_transition_post_status(), WordPress 2.3.0
WP_Posts_List_Table->column_default(), WordPress 3.0.0