thème enfant : after mais pas trop tôt !

add_action( 'after_setup_theme', 'twentyfifteen_xilidev_setup', 11 ); // called after parent

Petit retour sur le fichier functions.php d’un thème enfant (child thème) et le moment où il est mis en place (voir wp_settings en action) :

Le fichier functions.php du thème enfant est mis en place avant celui du parent, cela permet donc de remplacer des fonctions proposées par le parent et de les personnaliser dans le thème enfant. C’est ainsi qu’on voir ce type de lignes dans un thème parent bien écrit comme ceux fournis avec les versions de WordPress :

if ( ! function_exists( 'twentyfifteen_fonts_url' ) ) :
/**
 * Register Google fonts for Twenty Fifteen.
 *
 * @since Twenty Fifteen 1.0
 *
 * @return string Google fonts URL for the theme.
 */
function twentyfifteen_fonts_url() {

Revenons à l’action after_setup_theme qui par défaut à une priorité de niveau 10. Pourquoi la mettre à 11 ? Comme celle du parent est à dix (10), elle sera appelée en premier et celle du thème sera appelée ensuite. Le contenu de l’action du parent sera complété par quelques ajouts dans le contenu de l’enfant. Pas nécessaire de tout réécrire.
Cela permet par exemple d’annuler un filtre proposé par le parent comme dans cet exemple pour twentyfifteen in github

remove_filter( 'walker_nav_menu_start_el', 'twentyfifteen_nav_description');

Pour ce qui veulent continuer à en parler : rendez-vous au WordCamp Lyon ce 5 juin 2015.