J'ai le problème que je dois charger le functions.php
fichier de mon thème parent avant le chargement du fichier de mon thème enfant functions.php
. Cela est nécessaire pour la procédure de configuration et d'initialisation. J'ai regardé les crochets à l'intérieur de /wp_core_root/wp-settings.php (nommé:) do_action('setup_theme');
.
Le problème est que je ne sais pas comment s'y connecter, car le premier fichier que je reçois est celui du thème enfant functions.php
, donc ça ne add_action( 'setup_theme', 'my_init_function' );
marchera pas.
Edit:
a) Je sais que les plugins se chargent plus tôt que le thème et peuvent donc accéder même à la requête initiale, mais je ne veux pas compter sur un plugin.
b) Voici le code (raccourci) du fichier wp-settings.php
// happens a lot earlier:
do_action( 'plugins_loaded' );
// localize stuff happening here
do_action( 'setup_theme' );
// Load the functions for the active theme, for both parent and child theme if applicable.
if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) )
include( STYLESHEETPATH . '/functions.php' );
if ( file_exists( TEMPLATEPATH . '/functions.php' ) )
include( TEMPLATEPATH . '/functions.php' );
// first available hook, *after* functions.php was loaded
do_action( 'after_setup_theme' );
Je veux éviter deux choses: d'abord beaucoup d'explications aux utilisateurs. Deuxièmement, la chance que quelqu'un casse quoi que ce soit si la corde coupe en supprimant accidentellement la procédure d'initiation des parents. Les gens doivent simplement jouer à l'intérieur du functions.php sans risquer de casser quoi que ce soit sans le savoir.
En d'autres termes: comment garder mon fichier de thèmes enfants functions.php propre, mais le bootstrap des thèmes parents est-il fait?
Des idées? Merci beaucoup!
functions.php
. Jetez un oeil au wp-settings.php
fichier "molto loko" dans le noyau (ligne: 275-279 @wp 3.1 rc) ... ressemble à ceci:, if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) ) include( STYLESHEETPATH . '/functions.php' ); if ( file_exists( TEMPLATEPATH . '/functions.php' ) ) include( TEMPLATEPATH . '/functions.php' );
donc je ne vois aucune chance ... Et je ne veux pas utiliser un plugin pour bootstrap mon thème.
include(/path/to/parent/themes/functions.php)
en haut de votre thème enfant functions.php, alors tout y est chargé avant. Ne pas?