<
Puede que te sientas tentado de ir y editar el code source de un tema de terceros (es decir, un tema que no hayas escrito tú mismo), pero no lo hagas La próxima vez que actualices ese tema, se descargarán nuevos archivos y perderás todos los cambios que hayas hecho.
Frustrant, c'est le moins qu'on puisse dire.
Mais que pouvez-vous faire si vous devez modifier le thème?
Heureusement, il existe un moyen de modifier le code dans un thème, tout en ayant la possibilité de télécharger les dernières mises à jour: c'est en créant un thème enfant en utilisant le thème d'origine comme thème principal.
Esto significa que activará el tema hijo en el administrador de WordPress, pero dentro del código de ese tema hay instrucciones para que WordPress le diga que este es un tema hijo, y cuál es el tema padre. Usted mantiene el tema padre instalado en su sitio, pero no lo activa. (Es esencial mantenerlo instalado, dado que sin él, el tema infantil se romperá.)
En este tutorial te voy a enseñar cómo crear un tema infantil en WordPress. Al mismo tiempo te daré algunos consejos sobre cómo funcionan los temas para niños y padres, para es importante es importante que sepas qué conjunto de código se está utilizando para mostrar el Contenu de tu sitio.
Créer le thème de l'enfant
La première chose à faire est de créer le thème enfant dans votre dossier wp-content / themesfolder. Le thème enfant doit avoir deux fichiers pour travailler: une feuille de style et un fichier de fonction. En même temps, vous pouvez ajouter des fichiers facultatifs, tels que des fichiers modèles ou inclure des fichiers.
Créez un dossier pour le sujet de votre enfant dans le dossier du sujet et donnez-lui un nom approprié. J'appelle le mien »Thème mon fils».
Dans ce dossier, créez un fichier appelé style.css.
En haut de ce fichier, ajoutez le code commenté suivant:
Cela indique à WordPress qu'il s'agit d'un thème et fournit les mêmes informations sur le thème que vous trouveriez dans n'importe quel thème - avec un ajout. Le staff: vingt-deux lignes
indique à WordPress qu'il se compose d'un enfant du thème Twenty Nineteen.
Vous pouvez utiliser n'importe quel thème comme thème principal, en utilisant le nom du dossier dans lequel il est stocké. N'utilisez pas le titre du sujet - utilisez plutôt le nom du dossier.
Ahora guarde la feuille de style y cree otro archivo en el tema hijo, llamado functions.php.
Dans ce fichier, vous devez coller la feuille de style du thème principal. Auparavant, vous faisiez cela en utilisant un ligne
@import dans la feuille de style, mais ce n'est plus la méthode recommandée pour le faire.
Au lieu de cela, dans le fichier de fonction, ajoutez ce code:
<?php
une fonction
pimpampress_parent_styles () {
wp_enqueue_style (
'parent'
, get_template_directory_uri ().
«/style.css»
);
}
add_action (
'wp_enqueue_scripts'
,
'pimpampress_parent_styles'
);
Cela place correctement la feuille de style du thème principal, en utilisant get_tempate_directory_uri() afin de
trouver ce thème (le répertoire du modèle est le dossier dans lequel le thème principal est stocké, tandis que le répertoire de la feuille de style est le dossier dans lequel le thème actuel est stocké).
Si vous souhaitez ajouter des styles au thème enfant pour remplacer ou augmenter le style du thème parent, revenez à la feuille de style du thème enfant et ajoutez-le là. N'ajoutez pas dans le fichier de fonctions et n'essayez pas de mettre en file d'attente d'autres feuilles de style.
En même temps, vous pouvez ajouter des fonctions au fichier de fonctions du thème enfant et des fichiers de modèle au dossier des thèmes, qui remplaceront les mêmes fichiers de modèle dans le thème principal.
Par conséquent, maintenant que vous avez le sujet de votre enfant, c'est aussi simple que cela! Cependant, il est important de noter que vous comprenez exactement comment les fichiers de modèle de thème parent et enfant interagissent.
Créer des fichiers modèles
Jetons maintenant un coup d'œil aux fichiers de modèle de thème. Le fichier de modèle que WordPress utilise pour afficher une page sur votre site dépendra de deux choses: la hiérarchie des modèles et les fichiers que vous ajoutez au thème enfant.
Imaginez que vous visualisez la page d'archive des catégories Voyages sur votre site. WordPress utilisera la hiérarchie des modèles pour trouver le fichier le plus pertinent:
- un fichier de modèle d'archive de catégorie pour cette catégorie spécifique, en utilisant le slug: category-travel.php
- un fichier de modèle d'archive de catégorie pour cette catégorie spécifique, en utilisant l'ID: catégorie-23.php
- un fichier de catégorie générale: category.php
- un fichier d'archive général: archive.php
- el catch-all: indice.php
WordPress buscará esto tanto en el tema para padres como en el tema para niños. WordPress utilizará el primer archivo de la jerarquía que encuentre, ya être en el tema padre o en el tema hijo.
Il y a une exception. Lorsque le fichier de modèle le plus pertinent a une version dans les thèmes parent et enfant, WordPres utilisera le fichier du thème enfant et ignorera le fichier du thème parent. C'est l'une des utilisations les plus courantes des thèmes enfants: remplacer un fichier spécifique dans le thème parent.
Voici quelques exemples, en utilisant l'exemple de catégorie ci-dessus:
- Si le thème de votre enfant a archive.php e index.php et son Le thème parent a category.php et index.php, alors WordPress utilisera Catégorie.php du thème parent parce que c'est le plus élevé de la hiérarchie
- Si le thème de votre enfant a category.php e index.php et son le thème parent a file.php et index.php, WordPress utilisera le fichier Catégorie.php du thème enfant, puisque c'est le plus élevé de la hiérarchie
- Si le thème enfant a archive.php e index.php et il le thème parent a archive.php et index.php, WordPress utilisera le archive archive.php du thème enfant. Cela est dû au fait qu'il existe deux copies du fichier le plus élevé dans la hiérarchie et que la rubrique enfant est prioritaire sur la rubrique parent.
De cette façon, si vous souhaitez remplacer un fichier de modèle dans le thème parent, créez une copie de ce fichier dans le thème enfant avec le code de votre choix. Ou créez un fichier qui est plus haut dans la hiérarchie des modèles et ajoutez-le au thème de votre enfant.
Ajout de fonctions au thème enfant
Les fonctions fonctionnent différemment des fichiers modèles et sont un peu moins simples.
Si vous ajoutez une fonction au thème enfant avec le même nom que l'un des thèmes parent, WordPress lancera une erreur, car il essaie d'appeler la même fonction deux fois.
Mais cela ne se produira pas si la fonction du thème parent est connectable.
Un fichier de plugin est inclus dans une vérification conditionnelle pour une autre fonction avec le même nom, qui ressemble à ceci:
1 2 3 4 5 6 7 8 |
|
Ici, WordPress vérifiera qu'aucune fonction du même nom n'a été appelée. Si tel est le cas, il exécutera cette fonction. En effet, les fonctions de la rubrique enfant sont appelées avant les fonctions de la rubrique parent. Si vous écrivez une fonction dans le thème enfant avec le même nom, elle s'exécutera à la place.
Mais que se passe-t-il si la fonction du thème parent n'est pas connectable et que vous souhaitez la remplacer?
Eh bien, vous pouvez le faire en écrivant une nouvelle fonction qui remplace essentiellement la fonction dans le thème parent et en lui donnant une priorité plus élevée que la fonction dans le thème parent, de sorte que la fonction funciton du thème parent s'exécute après elle. Vous pouvez également récupérer la fonction de la rubrique parent et écrire une nouvelle fonction sur la rubrique enfant, accrochée à ce même hook.
Imaginez que la fonction principale du thème ressemble à ceci:
une fonction
pimpampress_parent_function () {
}
add_action (
«init»
,
'pimpampress_parent_function'
);
Si votre fonction dans le thème enfant pouvait annuler la fonction du thème parent sans avoir à arrêter la fonction du thème parent, vous l'écririez comme ceci:
function pimpampress_child_function () {
// contenu de la fonction ici
}
add_action ('init', 'pimpampress_child_function', 20);
Mais si vous deviez empêcher la fonction du thème parent de s'exécuter, vous la décrocheriez d'abord, comme ceci:
function wpmu_remove_parent_function () {
remove_action ('init', 'pimpampress_parent_function');
}
add_action ('wp_head', 'wpmu_remove_parent_function');
Notez que vous devez encore mettre la fonction remove_action ()
à l'intérieur d'une autre fonction, accrochée au hook wp_head () dans cette
Cas.
Ensuite, vous pouvez écrire la fonction du thème enfant comme si celle du thème parent n'existait jamais, rappelez-vous que vous ne devriez pas lui donner le même nom!
Les thèmes pour enfants sont un outil utile pour éditer des thèmes
Les thèmes pour enfants ont deux utilisations principales:
- Avec un thème qui a été conçu pour être utilisé comme thème parental (souvent appelé cadre). Le framework n'est pas conçu pour être utilisé seul: à la place, des styles et des fichiers modèles supplémentaires sont ajoutés avec un thème enfant.
- Pour vous permettre de modifier le thème principal sans avoir à le modifier directement, ou pour ajouter des fichiers de modèle supplémentaires. Cela signifie que lorsque le sujet parental sera mis à jour à l'avenir, vous ne perdrez pas votre emploi.
Ainsi, la prochaine fois que vous lirez un tutoriel qui vous dit d'utiliser un thème pour enfants au lieu d'éditer un thème tiers, vous saurez quoi faire!
2EwyhSO