Existe-t-il un type global de fichier functions.php qui fonctionne pour n’importe quel thème?
Le problème est ici:
Lorsque je modifie un fichier functions.php dans un thème, je dois prendre en compte deux modifications: Tout d'abord, je dois prendre en charge les mises à jour de ce thème. Deuxièmement, je dois prendre soin de changer le thème du site.
Ainsi, au lieu d’apporter des modifications au fichier functions.php d’un thème, est-il possible d’apporter des modifications à certains fichiers functions.php indépendants de tout thème?
La différence entre le code de thème et le code de non-thème est organisationnelle plutôt que technique. Tout code actif contribue à l'environnement résultant, peu importe d'où il est chargé.
Il existe un certain nombre d'emplacements d'où le code est chargé, qui ne font pas partie du noyau de WordPress:
wp-config.php
fichier de configurationUn endroit typique pour votre propre code, qui ne devrait pas faire partie du thème, est de créer un plugin. D'autres approches n'offrent pas d'avantages du cas générique, mais confisquent l'interface (gestion via la zone d'administration) et les commodités techniques (événements d'activation/désactivation/désinstallation) du plug-in normal.
Eh bien, c’est un problème réel et de nombreux peuples y font face lorsqu’ils changent de thème, mais il existe une solution simple.
ajoutez cette fonction à une nouvelle page et non à functions.php et donnez-lui un nom unique, par exemple yousitename + timestamp ou ce que vous voulez, mais créez un dossier unique du même nom. .
Pour comprendre quel plugin est pour quoi ne manquez pas de donner un nom à ce plugin comme:
/*
Plugin Name: XYZ
*/
En complément de la réponse @MBTheDeveloper.
Les autres options seraient:
include
dans votre fichier php de la fonction themes et chargez un fichier custom-function.php contenant votre code personnalisé.Ne modifiez pas spécifiquement votre site dans le fichier functions.php du thème.
Au lieu de cela, créez un plugin spécifique au site. J'aime utiliser le nom de domaine du site, comme "ottopress.com". Placez ensuite vos extraits dans ce plug-in et laissez-le actif sur ce site uniquement.
Sinon, lorsque vous avez un extrait de modifications connexes, créez un plug-in spécifique pour elles. Cela vous donne la possibilité d'activer/désactiver les bits de code liés selon vos besoins.
Vous devez d’abord comprendre le but de functions.php dans un thème. Functions.php est fondamentalement juste un fichier plugin avec n'importe quel nom qui, s'il est présent, est automatiquement chargé par Wordpress. Wordpress charge le fichier function.php de votre thème actuel pour les pages frontales de wordpress ainsi que pour les pages principales (admin).
Il n'y a pas de différence entre un plugin et functions.php sauf que les plugins ont un nom et qu'ils peuvent être activés/désactivés indépendamment des autres plugins et thèmes. Le fichier funtions.php est attaché à votre thème actuel. Si vous passez à un autre thème, Wordpress utilisera functions.php du nouveau thème et non votre ancien functions.php avec des modifications personnalisées.
Les mises à jour de thèmes écrasent également functions.php et il n'y a aucun moyen de l'éviter, même si vous placez vos modifications personnalisées dans des fichiers de code distincts et que vous les incluez dans votre fichier fucntions.php, vous devrez ajouter cette ligne d'inclusion après chaque mise à jour.
Généralement le type de code qui devrait aller dans functions.php:
Comme vous voulez conserver vos modifications personnalisées même si vous changez de thème. Parce que le thème enfant ne fonctionnera pas dans ce cas, vous basculerez le thème et le fichier functions.php du thème enfant ne sera pas utilisé.
La seule solution recommandée par @Otto est de créer un fichier plugin. L’approche que vous pouvez adopter pour créer votre plug-in spécifique au site consiste à créer un dossier avec votre nom de site dans "wp-content/plugins" et à y créer des fichiers de plug-in.
Regroupez les fonctionnalités du site liées au code dans des fichiers de plug-in séparés et n'oubliez pas d'ajouter l'en-tête plugin dans tous vos fichiers de plug-in afin qu'ils soient reconnus par Wordpress en tant que plug-ins distincts. Vous pourrez alors activer/désactiver différentes fonctionnalités/fonctionnalités de votre site sans tout casser.