Explication du fichier WordPress Functions.php : le guide essentiel

Publié: 2020-11-18

Le fichier WordPress functions.php est l'un des fichiers d'exploitation les plus importants de WordPress. Au minimum, deux fichiers functions.php existent pour chaque site Web WordPress : le fichier de fonctions dans le noyau WordPress et un fichier de fonctions supplémentaires dans votre thème WordPress. De plus, un thème enfant aura également un fichier functions.php.

Dans ce guide, nous verrons ce qu'est le fichier functions.php, où se trouve le fichier WordPress functions.php, comment le modifier et plus encore. Nous offrirons également une introduction aux fonctions WordPress. Plongeons-nous.

Dans ce guide

    Si vous lisez cet article, il est probable que vous ayez mis en place votre installation WordPress de base ou que vous ayez déjà un site Web WordPress. Tout semble bien fonctionner, et puis vous voulez faire ce qui semble devoir être le clic d'un bouton. Ensuite, vous trouvez un tutoriel en ligne, et il s'avère que vous devez éditer directement le fichier de fonctions WordPress, ou le fichier functions.php.

    Ou peut-être êtes-vous en train de créer votre premier thème WordPress et avez-vous des questions sur la façon dont le fichier de fonctions doit être modifié et les meilleures pratiques pour le développement de thèmes WordPress. À la fin de cet article, vous devriez avoir une meilleure compréhension du fonctionnement du fichier WordPress functions.php et de la meilleure façon de l'utiliser.

    Qu'est-ce que le fichier Functions.php dans WordPress ?

    Le fichier WordPress functions.php est un fichier d'exploitation puissant qui contient des fonctions PHP importantes qui rendent un site Web WordPress fonctionnel.

    Il existe deux emplacements principaux pour un fichier de fonctions dans WordPress :

    • Le fichier functions.php situé dans le répertoire principal de votre site Web qui est fourni avec les fichiers principaux de WordPress
    • Le (s) fichier(s) functions.php situé(s) dans votre thème WordPress et/ou votre thème enfant WordPress. Chaque thème WordPress que vous avez installé possède son propre fichier appelé functions.php dans sa racine au sein de votre installation WordPress.

    Assez similaire au fonctionnement des plugins WordPress, le fichier functions.php existe simplement pour permettre aux utilisateurs de saisir du code PHP personnalisé à exécuter sur les pages. Cela peut être utilisé pour d'innombrables choses, des fonctionnalités ajoutées de base comme les calculs côté serveur, à des éléments plus complexes, comme des programmes complets écrits en PHP pour que les utilisateurs puissent en profiter.

    Remarque : Il existe un fichier « functions.php » dans chaque thème que vous avez. Bien qu'il soit assez facile de changer le thème de votre blog en un clic via WordPress, gardez à l'esprit que cela modifiera le fichier functions.php.

    Fichier WordPress functions.php

    Si vous aimez expérimenter différents thèmes, gardez à l'esprit que vous devrez migrer manuellement toutes les modifications que vous avez apportées à functions.php. De plus, certains thèmes peuvent ne pas prendre en charge les nouvelles versions de PHP s'ils n'ont pas été activement maintenus, rendant certaines de vos anciennes fonctions inutiles.

    C'est pourquoi même après avoir décidé de modifier votre thème, il est important d'effectuer officiellement un contrôle qualité ou simplement de tout tester sur votre site. Ne prenez pas le message de WordPress selon lequel votre transition de thème a réussi pour signifier que vos fonctions ont toutes été transférées. Cela doit être vérifié manuellement.

    Où se trouve le fichier des fonctions WordPress ?

    Chaque thème a son propre fichier functions.php, qui peut être soit une bénédiction, soit une malédiction selon la fréquence à laquelle vous aimez faire la transition entre les thèmes et les fonctionnalités de votre (vos) site(s).

    Cependant, il existe également un deuxième fichier de fonctions « globales » dont nous n'avons pas encore parlé ! Examinons les emplacements de chacun de ces fichiers et quelles sont exactement les différences entre les deux fichiers.

    Le fichier WordPress Core Functions.php

    Comme son nom l'indique, le fichier WordPress core funtions.php est le fichier de fonctions "head honcho". Ce fichier de fonctions est fourni avec le logiciel de base WordPress qui fournit le code de base d'un site Web WordPress.

    Dans le répertoire racine de votre site Web WordPress, vous trouverez ce fichier de fonctions situé dans le dossier ou le répertoire wp-includes . Une fois dans le dossier wp-includes , vous trouverez le fichier nommé functions.php . Examinez , mais ne modifiez pas, le contenu de ce fichier. Plus tard, vous remarquerez que la structure est un peu différente de celle d'un fichier de fonctions d'un thème.

    Fichier des fonctions principales de WordPress

    Remarque : comme pour tous les fichiers principaux de WordPress, il est sage de ne pas modifier le fichier WordPress functions.php contenu dans le répertoire racine de votre site Web, peu importe à quel point il est ennuyeux de transférer des fonctions d'un thème à l'autre. Ce fichier de fonctions est destiné aux créateurs de WordPress pour stocker des fonctionnalités critiques et aux développeurs WordPress avancés.

    Pourquoi? Il y a quelques bonnes raisons de ne jamais modifier les fichiers principaux de WordPress :

    • Chaque fois qu'une nouvelle version de WordPress est publiée, la mise à jour écrasera les personnalisations ou les modifications que vous avez apportées aux fichiers principaux de WordPress. Exécuter la dernière version de WordPress est toujours une bonne idée pour des raisons de sécurité, vous ne voulez donc pas que les personnalisations de fichiers vous empêchent d'exécuter la dernière version de WordPress.
    • Un espace au mauvais endroit ou un point-virgule supplémentaire peut complètement casser votre site Web WordPress. À moins que vous n'ayez une compréhension approfondie du développement avancé de WordPress, les fichiers de base de WordPress doivent rester inchangés.

    Où se trouve le fichier de fonctions dans mon thème WordPress ?

    Maintenant, jetons un coup d'œil à votre fichier functions.php spécifique au thème. Contrairement au fichier de base functions.php , ce fichier est destiné à être édité par vous, le développeur/webmaster. Ces fichiers sont structurés et accessibles de telle manière qu'une erreur n'endommagera généralement pas le site et sera beaucoup plus facile à déboguer qu'une erreur dans le fichier de niveau principal.

    Pour cela, vous devrez accéder au dossier wp-content contenant vos thèmes WordPress. Sélectionnez le dossier principal du thème qui vous intéresse le plus pour ajouter des fonctionnalités.

    Fichier de fonctions de thème WordPress.php

    Dans le dossier racine de votre thème, vous devriez voir un fichier functions.php . Ouvrez ce fichier, mais ne modifiez pas encore le contenu. Jetez un œil à ce fichier et notez qu'il a moins de contenu que le fichier des fonctions principales.

    Exemple de fichier WordPress Functions.php

    Afin de vous donner la meilleure idée de ce à quoi ressemble un bon fichier WordPress functions.php, nous vous proposons ce modèle « minimaliste ». Essentiellement, cela a le code minimum requis par WordPress pour fonctionner. Cependant, vous ne le verrez pas trop en faire, car les fonctions ne sont pas encore remplies !

    Le fichier de fonctions WordPress a des fonctions « obligatoires » qui seront discutées un peu plus loin dans l'article. Sans plus tarder, voici notre petit fichier functions.php (basé sur des thèmes). Ceci est adapté de l'exemple officiel des fonctions du thème WordPress avec quelques éléments secondaires supprimés pour plus de clarté :

     if ( ! isset( $content_width ) )
    $content_width = 1000 ; /* le type de valeur par défaut est en pixels */

    if ( ! function_exists( 'myfirsttheme_setup' ) ) :
    /**
    * Cette fonction est requise pour tout enregistrer plus tard dans le fichier dans ce
    * les fonctions du thème.php.
    */
    function monpremierthème_setup() {

    /**
    * Ajout de la prise en charge des images sur votre thème/site
    */
    add_theme_support( 'post-vignettes' );


    /**
    * Activer la prise en charge de tous les éléments essentiels de WP
    */
    add_theme_support( 'post-formats', array ( 'à côté', 'galerie', 'citation', 'image', 'vidéo' ) );
    }
    fin si;
    add_action( 'after_setup_theme', 'myfirsttheme_setup' );

    Et voila! N'oubliez pas que la plupart des thèmes seront en fait fournis avec un fichier de fonctions plus complet auquel vous pourrez ajouter plus de code. Nous vous recommandons de toujours vous référer au manuel du développeur WordPress lors du développement dans ce fichier.

    Remarque : Avant de modifier le fichier functions.php de votre thème, il est impératif de sauvegarder votre site Web actuel pour vous assurer de ne perdre aucune donnée ni le travail acharné que vous y avez consacré. Une façon de le faire sans douleur ni chagrin consiste à utiliser un simple plugin de sauvegarde WordPress comme BackupBuddy.

    Sécurité des fichiers WordPress Functions.php

    Attention : Le fichier Functions.php est souvent ciblé par les pirates, surtout si vous avez un code personnalisé qui renvoie directement à votre base de données WordPress (ce que, pour des raisons de sécurité, vous ne devriez pas).

    Avant de modifier l'un de ces fichiers sur votre serveur de production, assurez-vous d'utiliser un plugin de sécurité WordPress décent comme iThemes Security Pro pour vous assurer que vos données sont en sécurité.

    Un plugin comme iThemes Security Pro peut ajouter une détection de modification de fichier à votre site Web. La fonction de détection des modifications de fichiers dans iThemes Security Pro analysera les fichiers de votre site Web et vous alertera lorsque des modifications se produisent sur votre site Web, notamment :

    1. Ajouter des fichiers – Un logiciel malveillant sous forme de logiciel espion peut ajouter un fichier malveillant qui enregistrera les frappes de votre client lorsqu'il entrera les informations de sa carte de crédit.
    2. Supprimer des fichiers – Certains logiciels malveillants suppriment un fichier légitime et le remplacent par un fichier malveillant du même nom.
    3. Modifier les fichiers – Un logiciel malveillant essaiera de cacher son code malveillant en le cachant dans un fichier existant qu'il modifie.
    Obtenez le contenu bonus : Un guide de la sécurité WordPress
    Télécharger le PDF

    Comment accéder au fichier Functions.php dans WordPress ?

    Pour accéder à vos fichiers de fonctions, vous aurez besoin de quelques informations de base pour effectuer ce processus :

    • Vos identifiants sFTP (seul votre hébergeur peut les fournir et les a probablement envoyés dans un premier e-mail)
    • Un client sFTP de votre choix
    • Le ou les emplacements des fichiers auxquels vous souhaitez accéder

    Une fois que vous avez accès à un client sFTP et que vous vous êtes connecté à votre serveur avec vos informations d'identification, vous pouvez parcourir, afficher et modifier les fichiers de votre site WordPress (à condition d'avoir les bonnes autorisations d'utilisateur).

    Référez-vous à notre discussion ci-dessus sur les fichiers de fonctions « de base » et basés sur le thème.

    Fonctions du thème WordPress expliquées

    Donc, maintenant que vous avez un avant-goût de ce que vous pourriez faire avec les fonctions de thème WordPress, vous êtes intéressé par le fonctionnement de certaines de ces fonctions.

    Bien que vous deviez accéder au guide de développement officiel de WordPress pour voir une liste complète et à jour des fonctions que vous pouvez utiliser, voici une liste pratique de fonctions de thème utiles et de ce que chacune fait.

    themename_setup() - Dans cette fonction, remplacez simplement "themename" par le nom de votre thème. Celui-ci contient le code pour configurer votre thème.

    register_nav_menus() – Dans cette fonction, nous configurons simplement des menus de navigation personnalisés. Presque tous les thèmes réels (non théoriques) en profitent. Sinon, le menu de chaque site WordPress aurait exactement le même aspect !

    load_theme_textdomain() - C'est la fonction qui permet la localisation. Une panacée pour le référencement local pour les sites WordPress qui ont une large portée, que ce soit au niveau national ou mondial, cela permet une optimisation de la langue et du référencement pour les régions et les zones locales.

    add_theme_support() - Probablement la fonction la plus simple du groupe, celle-ci indique simplement à votre thème de charger des modules add_theme_support() charge différents types de médias. Ceux-ci sont tous intégrés, ce n'est donc pas un problème du tout. De nombreuses choses différentes, des flux RSS au support vidéo, sont apportées à l'aide de cette fonction.

    Et voilà, vous avez vos principales fonctions de thème WordPress ! Cependant, nous sommes loin d'avoir fini d'examiner les fonctions que nous pouvons utiliser dans WordPress. Ensuite, nous examinerons les principales fonctions WordPress que nous pouvons utiliser et qui proviennent du noyau de WordPress, comme nous en avons discuté précédemment.

    Top cinq des principales fonctions WordPress

    Pour continuer, voici quelques fonctions principales de WordPress que vous devriez au moins connaître ; Cependant, même la plupart des développeurs WordPress doivent se référer au manuel officiel des thèmes WordPress avant d'utiliser chacun d'eux, principalement en raison de la complexité des paramètres de chaque fonction.

    Avant de commencer, n'hésitez pas à consulter toutes les fonctions publiques à votre disposition ici dans la référence de code WordPress.

    1. activate_plugins() – Cette fonction se superpose à la fonction activate_plugin() . Comme son nom l'indique, c'est un raccourci pour activer n'importe quel plugin installé.
    2. add_menu_page() – Cette fonction vous permet d'ajouter très facilement et simplement une page au menu principal de votre thème ou site. De nombreux utilisateurs novices tentent de le faire en utilisant du HTML et du CSS bruts. Malheureusement, cette approche peut gâcher tout un thème ; il est toujours préférable de profiter de fonctions comme celle-ci qui sont conçues uniquement dans ce but plutôt que d'essayer de « pirater » vous-même.
    3. bloginfo() - Les développeurs PHP peuvent remarquer que cela ressemble beaucoup à une fonction indispensable au sein de PHP lui-même appelée "phpinfo()". Ceci est destiné à imiter cette fonction, en fournissant des informations cruciales imprimées sur une page à des fins de développement concernant votre version de WordPress, le type de serveur, etc. C'est très bien si vous avez besoin de récupérer rapidement des informations spécifiques.
    4. current_user_can() - Cette fonction est un "booléen", ce qui signifie qu'elle renverra soit une valeur "vraie" soit une valeur "fausse". Ceci est excellent pour le débogage et peut être appelé pour voir si vous pouvez ou non utiliser une fonction spécifique. En utilisant la fonction en question comme paramètre, vous pouvez vérifier si vous disposez des autorisations WordPress pour accéder à une fonctionnalité spécifique. Si vous ne le faites pas, vous pouvez travailler dessus avant de continuer et d'accélérer votre processus de développement.
    5. delete_plugins() – Cette fonction fait littéralement ce que son nom suggère : vous mettez le nom enregistré de n'importe quel plugin, et l'exécution de cette fonction supprimera le plugin et ses répertoires. Encore une fois, notez que cette action est permanente et ne peut pas être inversée. Assurez-vous que vous avez le bon nom, que vous avez sauvegardé votre site, etc., avant de continuer à exécuter cette fonction.

    Fonctions de thème WordPress obligatoires

    Comme nous l'avions promis, nous revenons en arrière pour jeter un œil à ces fonctions de thème WordPress « obligatoires ». Ce sont des fonctions que chaque thème WordPress doit avoir pour fonctionner correctement. Notez que, comme avec la plupart des formes de programmation, vous pouvez simplement créer un fichier avec ces fonctions masquées, et cela serait toujours considéré comme valide.

    C'est une tactique que de nombreux blogs utilisent afin de rendre le processus beaucoup plus rapide qu'il ne l'est et pour eux de vous faire découvrir plus rapidement ce qu'ils appellent « les bases de WordPress ». Cependant, n'oubliez pas que vous ne rendez pas service à vous-même ou à vos sites en sautant ces fonctions requises ou « obligatoires ». Vous vous assurez simplement que certaines fonctionnalités qui reposent sur ces fonctions ne fonctionneront pas comme prévu. Il est toujours préférable de créer votre site correctement la première fois que d'avoir à revenir continuellement en arrière et à modifier quelque chose juste pour que tout reste à peine collé !

    Consultez simplement le fichier d'exemple de configuration initiale des fonctions de thème WordPress pour voir toutes les fonctions « obligatoires » pour votre thème situées dans le

    Modification du fichier Functions.php

    Donc, maintenant que nous avons passé en revue les bases des fichiers de fonctions WordPress, examinons comment vous pouvez modifier ce fichier. Il existe diverses « meilleures pratiques », mais la meilleure façon de le faire est assez simple.

    Tout d'abord, vous devrez passer par le même client SFTP en utilisant les mêmes informations d'identification SFTP auparavant. Ensuite, vous devrez localiser et télécharger sur votre disque local le fichier PHP lui-même. À l'aide d'un éditeur (tel que le Bloc-notes ++ open source) sur votre ordinateur local, commencez par éditer localement.

    Idéalement, vous devriez avoir quelque chose d'installé localement qui vous permet de tester ce fichier. Cependant, si vous ne le faites pas, assurez-vous simplement que le fichier d'origine est sauvegardé et prêt pour la restauration au cas où vos modifications ne se dérouleraient pas comme vous l'attendiez. Ensuite, remplacez ce fichier sur le serveur et regardez-le s'exécuter !

    En tant que personne probablement sur la bonne voie pour devenir un développeur WordPress chevronné, il existe une bonne pratique que vous devez garder à l'esprit, telle que recommandée par l'équipe WordPress elle-même. Si vous ajoutez des fonctionnalités de nature significative que vous souhaitez pouvoir réutiliser (analogue à un "objet" dans un langage orienté objet pour les programmeurs), il est préférable de créer un plugin complet avec ce PHP que vous pouvez facilement installer et désinstaller sur chacun de vos sites. Bien que cela semble plus complexe, cela vous fera gagner du temps au fil des ans.

    Comment ajouter du code à Functions.php ?

    Si vous faites simplement référence à la modification de ce fichier, jetez un œil à notre réponse ci-dessus. Cependant, de nombreux utilisateurs posent cette question car ils souhaitent réellement ajouter une fonction supplémentaire au fichier.

    Une fois de plus, il est considéré comme une « meilleure pratique » d'intégrer des fonctionnalités comme celle-ci dans un plug-in au lieu d'éditer sans cesse des fichiers de thème. Quoi qu'il en soit, nous verrons dans la sous-section suivante comment ajouter vos propres fonctions personnalisées !

    Comment injecter ma propre fonction personnalisée dans WordPress ?

    Maintenant, le moment est enfin venu pour vous d'injecter vos propres fonctions dans WordPress ! Il s'agit d'une étape importante pour tout développeur, donc une petite célébration peut être de mise. Tout d'abord, examinons exactement comment procéder.

    Bien qu'il soit toujours préférable d'ajouter votre code personnalisé à un plugin que vous publierez plus tard, au minimum, ne modifiez pas vos fonctions sur votre site en direct à moins que vous ne vouliez un désastre sur vos mains ! Assurez-vous toujours de faire une sauvegarde complète de votre site avant de modifier le fichier functions.php de votre thème.

    • 1. Profitez d'un plugin gratuit pour ajouter des fonctions, telles que « Mes fonctions personnalisées » qui seront utilisées pour ce tutoriel.
    Mes fonctions personnalisées

    2. Après avoir installé le plug-in, accédez à « Apparence », puis à « Fonctions personnalisées » où vous verrez les fonctions personnalisées existantes via ce nouveau plug-in.

    3. Vous pouvez ajouter une fonction PHP très simple à cela. Par exemple, faites défiler jusqu'en bas de la zone de saisie de texte et vous pouvez imprimer quelque chose "Bonjour, tout le monde!" avec le texte suivant :

     fonction hello_world() {
    echo "Bonjour tout le monde !";
    }

    4. Notez qu'il s'agit simplement de PHP standard ; il n'y a pas de « framework WordPress » ou similaire qui modifierait fondamentalement la syntaxe, ce qui est une excellente nouvelle pour les développeurs PHP existants.

    5. Un dernier conseil rapide ! Pendant que vous travaillez sur la mise à jour des fonctions de votre thème et de vos sites, il existe un fichier dans le fichier wp-config.php . Cela se trouve à la racine de votre thème, et vous devrez l'ouvrir dans votre éditeur de texte préféré via votre client SFTP.

    Trouvez une ligne qui dit define('WP_DEBUG', false); . Changez-le simplement pour dire define('WP_DEBUG', true); . Notez que vous devrez le FALSE une fois que vous aurez terminé de développer.

    Comment utiliser Functions.php pour ajouter des scripts aux en-têtes et pieds de page ?

    Les scripts d'en-tête et de pied de page sont souvent utilisés à des fins publicitaires et à d'autres fins de suivi. Ceux-ci peuvent devoir être insérés sur chaque page ou seulement sur certaines pages ciblées. Quoi qu'il en soit, éditer directement ce fichier PHP n'est pas la voie à suivre, sauf si vous êtes un utilisateur WordPress expérimenté.

    Encore une fois, nous devrons ajouter un petit plugin avant de commencer. Cette fois, le plugin s'appelle le plugin Insert Headers and Footers.

    Insérer des en-têtes et des pieds de page

    Après l'avoir ajouté à vos thèmes ou sites, vous pourrez accéder à la fonctionnalité d'édition via « Paramètres », puis « Insérer des en-têtes ou des pieds de page ». Vous devriez voir une case pour les scripts d'en-tête et une case pour les scripts de pied de page. Pour clarifier, ce plugin s'attend à ce que vous mettiez en JavaScript, et non en PHP, alors assurez-vous que vos scripts sont au bon format avant de continuer, car ce plugin ne vous donnera pas de messages d'erreur ; tout ce que vous mettez dans ces cases sera mis sur vos pages en tant que JavaScript !

    Vous devrez avoir les scripts que vous souhaitez ajouter prêts à être collés directement dans les cases, puis cliquez sur « Enregistrer », et le processus est terminé ! Certains utilisateurs ont signalé que ces modifications ne sont pas visibles tant que les clients n'effacent pas les caches de leur navigateur et n'effacent pas leur cache côté serveur. Vous devrez donc peut-être le faire pour que vos modifications prennent réellement effet.

    Conclusion : Introduction au fichier WordPress Functions.php

    Merci d'avoir pris le temps de parcourir notre long (mais, espérons-le, digne !) tutoriel sur le fonctionnement du fichier functions.php de WordPress, la différence entre la version principale WordPress du fichier de fonctions et la version thématique du fichier. Nous espérons que toutes ces informations, une fois assimilées à votre flux de travail WordPress et à vos pratiques de gestion de sites Web au quotidien, pourront vous aider à devenir un développeur WordPress encore meilleur !

    Obtenez le contenu bonus : La liste de contrôle ultime pour la maintenance de WordPress
    Télécharger le PDF
    Fichier WordPress functions.php