J'essaie d'inclure les thèmes de mes parents avec functions.php et de les inclure dans mon thème pour enfant functions.php.
J'ai une configuration standard pour un functions.php dans mon parent.
C’est ce que j’ai dans les thèmes de mes enfants, functions.php
<?php
/**
* Base functions and definitions.
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*
* @package Base
*/
locate_template( array( '/vendor/autoload.php', '/functions.php' ), true, false );
le fichier autoload.php contient des éléments tels que la structure en bois qui fonctionne, mais il ne semble pas importer le fichier parents functions.php
Toute aide serait très appréciée.
Merci Jake.
Selon les commentaires de @ toscho, le thème parent est toujours chargé après celui du thème enfant. De cette manière, si vous souhaitez remplacer la fonction d'un thème parent, vous pouvez la réécrire et l'original sera ignoré, alors que toutes les fonctions que vous n'avez pas réécrites sont chargées et disponibles.
Il n'est pas nécessaire de faire l'inverse. Si vous ne faites que charger des fichiers supplémentaires et définir des actions et des filtres (comme il se doit), il n'y a aucune raison de vous inquiéter de l'ordre dans lequel les deux fichiers de fonction sont chargés, car WP ne fait actuellement qu'un inventaire. de code à exécuter, ne pas exécuter réellement.
Cela vous laisse donc toute liberté pour définir des paramètres supplémentaires dans le functions.php
de votre thème enfant, même si celui du parent n'a pas encore été chargé.
Je ne suis pas tout à fait sûr de ce que vous essayez d'accomplir, mais il semblerait que vous essayiez de remplacer les fonctions de votre thème parent dans votre thème enfant.
Si tel est le cas, vous devez rendre la fonction parent enfichable:
if ( ! function_exists( 'your_function' ) ) {
function your_function() {
}
}
Vous pouvez ensuite définir une fonction dans le thème de votre enfant avec le même nom. Dans ce cas, la fonction enfant sera utilisée car elle est chargée en premier et le parent vérifie si la fonction existe.
function your_function() {
}