27
Comment (bien) créer des hooks dans vos (supers) développements WordPress. Julio Potier - WP Tech 2015 WP TECH 2015 05 décembre à Nantes Comment (bien) créer des hooks dans vos (supers) développements WordPress.

Comment créer des hooks dans vos développements WordPress - WP Tech 2015

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 ?

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

Julio Potier - WP Tech 2015

Comment ajouter des Hooks ?

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

Où ajouter des Hooks ?

Julio Potier - WP Tech 2015

Récapitulatif avec une fonction démo

Comment nommer ses Hooks ?

Julio Potier - WP Tech 2015

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

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

Julio Potier - WP Tech 2015

Captain Julio Potier

<< Pirate WordPress >>

"Nous recrutons des pirates !"

https://wp-media.workable.com/

http://wp-media.me

Merci ! Des questions ?

Julio Potier - WP Tech 2015