Comment trouver, accéder et modifier functions.php dans WordPress
Publié: 2022-08-23Si vous débutez dans le développement de WordPress, l'un des fichiers les plus importants avec lequel vous devriez vous familiariser est le fichier functions.php . Il existe en fait trois fichiers functions.php possibles que vous pourriez utiliser sur votre site Web WordPress, et chacun joue un rôle différent. Savoir où se trouvent ces fichiers, quel est leur objectif et comment et quand les modifier vous aidera à résoudre les problèmes et vous donnera plus de contrôle sur les fonctionnalités de votre site.
Dans cet article, nous couvrirons tout ce que vous devez savoir sur les fichiers WordPress functions.php . Vous apprendrez ce que fait functions.php et comment le trouver et le modifier. Nous inclurons même quelques extraits de code utiles à essayer.
Vous pouvez commencer au début et lire ou passer à une section spécifique en utilisant la table des matières ci-dessous :
- Qu'est-ce que functions.php dans WordPress ?
- Où se trouve le fichier functions.php ?
- Comment accéder à functions.php
- Accéder à functions.php dans votre interface d'administration WordPress
- Accéder à functions.php via FTP
- Accéder à functions.php dans votre cPanel
- Quand dois-je modifier functions.php dans WordPress ?
- Comment modifier functions.php dans WordPress
- Modification de functions.php dans votre éditeur de fichiers de thème WordPress
- Modification de functions.php avec un éditeur de texte
- Modification de functions.php directement dans cPanel
- Utiliser un plugin pour ajouter des fonctions à votre site WordPress
- Comment protéger functions.php des exploits de sécurité
- Quel code puis-je ajouter à functions.php dans WordPress ?
- FAQ
- Dois-je créer un thème enfant pour éditer functions.php ?
- Comment restaurer functions.php à partir d'une sauvegarde si je n'ai pas accès à mon tableau de bord WordPress ?
- Puis-je ajouter JavaScript à mon fichier functions.php ?
Qu'est-ce que functions.php dans WordPress ?
Dans WordPress, le fichier functions.php est l'endroit où réside le code vital qui détermine le fonctionnement de votre site. Il existe en fait au moins deux fichiers functions.php dans chaque site Web WordPress – un inclus avec le noyau WordPress et un inclus avec votre thème. Si vous utilisez un thème enfant, vous devez également avoir un functions.php dans votre dossier de thème enfant.
Le fichier functions.php dans le noyau de WordPress contient un code important nécessaire au fonctionnement de WordPress. Vous ne devriez presque jamais modifier le code dans le fichier functions.php du noyau WordPress.
Le fichier functions.php de votre thème est l'endroit où vivent toutes les fonctionnalités spécifiques au thème de votre site Web, telles que les emplacements de menus personnalisés, les zones de widgets, le contenu et les fonctionnalités d'en-tête et de pied de page personnalisés, la longueur des extraits de publication, etc.
Le fichier functions.php de votre thème se comporte à peu près de la même manière qu'un plugin WordPress. La différence est que functions.php doit être utilisé pour le code spécifique au thème, tandis que les plugins doivent être utilisés pour les fonctionnalités qui resteront même lorsque vous changez de thème.
Où se trouve le fichier functions.php ?
Nous avons parlé de ce que le fichier functions.php fait à la fois dans le noyau de WordPress et dans les fichiers de thème, mais comment trouvez-vous le fichier functions.php ? Où est functions.php dans WordPress ?
Tous vos fichiers WordPress se trouvent dans le répertoire racine de votre site et dans divers sous-dossiers. Votre répertoire racine est généralement nommé quelque chose comme public_html ou www , mais peut avoir un nom différent. Si vous ne savez pas où trouver votre dossier d'installation WordPress sur votre serveur, contactez votre hébergeur.
Une fois que vous avez trouvé où se trouvent vos fichiers WordPress sur votre serveur, vous pouvez commencer à rechercher vos fichiers functions.php . Nous avons mentionné qu'il existe jusqu'à trois emplacements pour functions.php : le noyau WordPress, votre dossier de thème et votre dossier de thème enfant. Dans cette section, nous verrons où les trouver.
Où se trouve functions.php dans le noyau de WordPress ?
Si vous recherchez l'emplacement de functions.php dans le noyau WordPress, vous le trouverez dans le dossier wp-includes de votre installation WordPress.

Bien que vous ne devriez jamais modifier functions.php dans le noyau de WordPress, vous devrez peut-être l'inspecter pour une raison ou une autre. Le scénario le plus probable pour fouiller dans functions.php dans le noyau de WordPress est si vous soupçonnez que des logiciels malveillants y ont été injectés.
Avant même d'ouvrir functions.php , vous devez effectuer une sauvegarde de votre site WordPress au cas où vous apporteriez accidentellement une modification au fichier qui provoquerait une erreur critique. Si vous constatez que functions.php a été corrompu ou piraté, il est probable que d'autres zones de WordPress soient affectées. La meilleure chose à faire est simplement de remplacer WordPress par une nouvelle installation, plutôt que d'essayer de supprimer tous les scripts incriminés un par un.
Où se trouve functions.php dans mon dossier de thème WordPress ?
Le fichier functions.php de votre thème se trouve dans le répertoire principal de votre dossier de thème : wp-content → themes → yourtheme .

Où se trouve functions.php dans le dossier du thème enfant WordPress ?
Le fichier functions.php du thème enfant WordPress se trouve dans le répertoire principal de votre dossier de thème enfant : wp-content → themes → yourtheme-child .

Comment accéder à functions.php ?
Savoir où se trouve functions.php n'est que la moitié du travail. Vient maintenant la question de savoir comment accéder à functions.php dans WordPress. Bien que le fichier functions.php dans le noyau WordPress ne soit accessible que via le protocole de transfert de fichiers sécurisé (SFTP) ou via cPanel, vos fichiers functions.php de thème et de thème enfant sont également accessibles dans l'éditeur de fichiers de thème WordPress.
Accéder à functions.php dans l'éditeur de fichiers de thème WordPress
Si vous avez besoin d'accéder au fichier functions.php de votre thème ou thème enfant, vous pouvez le faire directement depuis l'éditeur de fichiers de thème WordPress. Dans votre tableau de bord WordPress, allez dans Apparence → Éditeur de fichiers de thème .
Vous serez redirigé vers la page Modifier les thèmes . À partir de là, sous le menu déroulant à côté de Sélectionner le thème à modifier , choisissez votre thème et cliquez sur Sélectionner . Vous verrez une liste de fichiers disponibles pour modification dans la colonne Fichiers thématiques à l'extrême droite de votre écran. Cliquez sur functions.php pour ouvrir le fichier.

Si vous êtes dans le fichier functions.php de votre thème parent, vous verrez un avertissement en bas de l'écran au-dessus du bouton Mettre à jour le fichier indiquant : « Attention : ceci est un fichier de votre thème parent actuel ».
Remarque : Si vous n'êtes pas le développeur du thème, vous devez apporter vos modifications dans le fichier functions.php de votre thème enfant pour éviter que vos modifications ne soient écrasées dans les futures mises à jour du thème. |
Accéder à functions.php via SFTP
Étape 1 : Installez votre client SFTP. Si vous n'avez pas encore de client SFTP, vous devrez en télécharger un. Il existe d'excellentes options gratuites et premium, notamment:
Application | Système | Gratuit ou Premium |
WinSCP | les fenêtres | Libre |
FilezillaName | Windows, Mac, Linux | Options gratuites et premium |
Cybercanard | Windows, Mac | Libre |
Transmettre | Mac | Prime |
Dans cet exemple, nous utiliserons Filezilla. Les autres clients SFTP devraient fonctionner de la même manière.
Étape 2 : Récupérez vos informations d'identification SFTP. Pour vous connecter à votre serveur via SFTP, vous aurez besoin des informations suivantes :
- Hôte (adresse IP ou URL de votre serveur)
- Nom d'utilisateur SFTP
- Mot de passe
- Numéro de port
Ces détails se trouvent généralement dans le panneau de contrôle de votre hébergement. Ces informations peuvent être générées pour vous ou votre hébergeur peut vous inviter à créer un nom d'utilisateur et un mot de passe SFTP. Si vous ne savez pas où trouver ces informations d'identification ou si vous avez du mal à comprendre comment les créer, recherchez des instructions dans la documentation d'aide de votre hébergeur ou contactez son équipe d'assistance.
Étape 3 : Entrez vos informations d'identification SFTP.
Entrez l'adresse IP ou l'URL de votre hôte, votre nom d'utilisateur SFTP, votre mot de passe et le numéro de port (généralement 22 ou 2222, mais certains hôtes peuvent utiliser un port différent).

Remarque : vous pouvez recevoir une alerte « clé d'hôte inconnue » si votre client SFTP utilise l'authentification de confiance à la première utilisation (TOFU). Cochez "Toujours faire confiance à cet hôte, ajoutez cette clé au cache" si vous prévoyez d'utiliser votre client SFTP pour accéder à nouveau au site. Cliquez sur OK pour continuer.

Étape 4 : Accédez au répertoire racine de votre site Web.
Une fois connecté, vous verrez deux arborescences de fichiers affichées sur le bouton de votre écran - une à gauche et une à droite. Le côté droit répertorie les répertoires sur votre serveur Web (distant). Le côté gauche répertorie les répertoires sur votre ordinateur (local).
Votre répertoire racine se trouve généralement dans un dossier intitulé www ou public_html , mais il peut utiliser un nom différent. Si vous ne savez pas dans quel dossier chercher, demandez à votre fournisseur d'hébergement. Vous saurez que vous êtes dans le bon dossier si vous voyez les dossiers wp-admin , wp-content et wp-includes en haut de votre liste de fichiers.

Étape 5 : Accédez à functions.php dans le noyau WordPress, votre thème parent ou votre thème enfant. Si vous recherchez functions.php dans le noyau de WordPress, vous accédez au dossier wp-includes .
Si vous recherchez functions.php dans votre répertoire de thèmes, vous accéderez à wp-content → themes → yourtheme .
Pour trouver le fichier functions.php de votre thème enfant, allez dans wp-content → themes → yourtheme-child.
Étape 6 : Téléchargez functions.php . Maintenant que vous savez où se trouve functions.php et que vous y avez accédé, vous voudrez peut-être inspecter ou modifier le fichier. Avant de pouvoir le faire, vous devrez le télécharger. Faites un clic droit sur votre fichier functions.php et sélectionnez Télécharger . Votre fichier sera téléchargé sur votre machine locale.

Accéder à functions.php dans cPanel
Si votre hébergeur utilise cPanel, vous pouvez accéder à functions.php via son gestionnaire de fichiers. Si vous ne savez pas comment trouver cPanel dans le tableau de bord de votre hôte, contactez son support client pour obtenir de l'aide.
Étape 1 : Ouvrez le gestionnaire de fichiers de cPanel. Une fois que vous êtes dans cPanel, accédez à la section Fichiers et cliquez sur Gestionnaire de fichiers .
Étape 2 : Ouvrez le dossier racine de votre site Web. Le dossier racine est communément appelé www ou public_html , mais il peut avoir un autre nom. Les conventions de dénomination des dossiers racine diffèrent sur certains hôtes, donc si vous ne savez pas dans quel dossier chercher, demandez à votre fournisseur d'hébergement.
Vous saurez que vous êtes dans le bon dossier si vous voyez les dossiers wp-admin , wp-content et wp-includes en haut de votre liste de fichiers.
Étape 3 : Recherchez et téléchargez functions.php . Le fichier functions.php pour le noyau WordPress se trouve dans votre dossier wp-includes .
Le fichier functions.php de votre thème se trouve dans wp-content → themes → yourtheme .
Si vous recherchez le fichier functions.php de votre thème enfant, vous pouvez le trouver dans wp-content → themes → yourtheme-child.
Lorsque vous avez trouvé le fichier functions.php que vous recherchez, faites un clic droit sur functions.php et cliquez sur Télécharger , ou cliquez une seule fois sur functions.php puis cliquez sur l'option Télécharger dans le menu du haut.

Si vous renommez votre fichier lorsque vous l'enregistrez, assurez-vous de le renommer functions.php avant de le re-télécharger. Et avant de modifier et d'écraser functions.php , sauvegardez votre site WordPress.
Quand dois-je modifier functions.php dans WordPress ?
Avant de nous plonger dans la modification de functions.php , nous devrions parler de si et quand vous devriez le modifier. Il existe de nombreuses raisons pour lesquelles vous pourriez vouloir modifier du code PHP dans WordPress, mais ajouter ce code à votre fichier functions.php n'est pas toujours la meilleure option et ne doit être fait que dans certaines circonstances, dont nous parlerons ci-dessous.
Quand modifier functions.php dans le noyau WordPress
Jamais. Vous ne devriez pas modifier functions.php dans le noyau de WordPress. Tout au plus, vous pouvez le remplacer si vous constatez qu'il a été corrompu, mais la suppression ou l'ajout de code à WordPress core functions.php est susceptible de casser votre site. Ainsi, vous pouvez l'ouvrir, l'inspecter, le remplacer par une nouvelle copie si vous en avez besoin, mais ne plaisantez pas sur les sites Web en direct.
Quand éditer functions.php dans votre thème
En ce qui concerne le fichier functions.php de votre thème, vous pouvez ou non avoir besoin de le modifier. Si vous créez votre propre thème, vous voudrez certainement ajouter du code personnalisé à functions.php . Presque chaque thème a du code dans son fichier functions.php qui lui donne un ensemble unique de fonctionnalités et de capacités. Outre vos feuilles de style, ces fonctions sont une grande partie de ce qui rend un thème différent d'un autre.
Si vous ajoutez du code au fichier functions.php de votre thème qui n'est pas spécifique à votre thème et qui pourrait être utilisé indépendamment de votre thème, envisagez plutôt d'en faire un plugin. De cette façon, vous pouvez utiliser cette fonctionnalité sur plusieurs thèmes et même la soumettre à la bibliothèque de plugins WordPress.org où elle pourrait bénéficier à d'autres utilisateurs de WordPress.
Avant de créer votre plugin, vérifiez la bibliothèque de plugins pour vous assurer que ce que vous créez n'existe pas déjà. Si une solution de qualité existe déjà, vous souhaiterez peut-être économiser votre énergie de développement pour une autre fonctionnalité personnalisée sur votre site.
Quand éditer functions.php dans votre thème enfant
Si vous utilisez un thème d'un développeur et que vous souhaitez modifier le fichier functions.php , vous devez toujours utiliser un thème enfant pour effectuer ces modifications. Lorsque les développeurs de thèmes publient une nouvelle version de leur thème et que vous mettez à jour vers la dernière, votre thème actuel est écrasé par les nouveaux fichiers, y compris functions.php .
Les thèmes enfants ne sont pas affectés par les mises à jour du thème parent, vous conserverez donc tout votre code personnalisé si vous apportez des modifications au fichier functions.php d'un thème enfant.
Avant d'ajouter du code, demandez-vous si l'utilisation d'un plugin serait une meilleure solution. Le code que vous ajoutez est-il spécifique à votre thème ? Modifiez le fichier functions.php de votre thème enfant. Le code que vous ajoutez est-il quelque chose que vous souhaitez conserver si vous changez de thème à l'avenir (par exemple, code de suivi Google Analytics ou pixel Facebook) ? Utilisez un plugin.
Comment modifier functions.php dans WordPress
Vous devez toujours prendre des mesures pour protéger votre site de toute erreur que vous pourriez commettre lors de la modification de functions.php . Donc, avant de commencer à apporter des modifications, sauvegardez votre site et envisagez de créer un site intermédiaire pour les tester en premier. De cette façon, votre site en ligne n'est pas perturbé si vous ajoutez accidentellement du code à functions.php qui cause des problèmes majeurs ou, pire encore, plante complètement votre site.
Maintenant que vous avez sauvegardé votre site, vous pouvez passer à la modification de votre fichier functions.php .
Comment modifier functions.php dans l'éditeur de fichiers de thème WordPress
L'édition de functions.php dans l'éditeur de fichiers de thèmes WordPress est un peu risqué. Si vous utilisez cet outil parce que vous n'avez pas accès à cPanel ou SFTP, vous vous retrouverez dans une très mauvaise situation si vos modifications provoquent une erreur fatale qui vous empêche d'accéder à votre tableau de bord WordPress.
Si vous souhaitez modifier functions.php dans l'éditeur de fichiers de thème, assurez-vous d'avoir un accès direct au serveur et à vos sauvegardes afin de pouvoir restaurer rapidement votre fichier de sauvegarde.
Vous pouvez trouver l'éditeur de fichier de thème WordPress sous Apparence → Éditeur de fichier de thème dans votre panneau d'administration WordPress.
Vous serez redirigé vers l'écran Modifier les thèmes, où vous devez sélectionner votre thème enfant, puis sélectionner le fichier functions.php dans la colonne Fichiers de thème à droite de votre écran.

Si vous avez sélectionné le thème parent à la place, vous verrez un avertissement en bas de votre écran qui dit : « Attention : ceci est un fichier dans votre thème parent actuel. Vous ne voulez pas apporter de modifications au fichier functions.php de votre thème parent car vos modifications seront écrasées la prochaine fois que vous mettrez à jour votre thème.
Si vous voyez des fonctions dans votre fichier que vous ne comprenez pas, WordPress inclut une fonction de recherche de documentation pratique juste au-dessus du bouton Mettre à jour le fichier . Cliquez sur le menu déroulant et recherchez le nom de la fonction sur laquelle vous souhaitez en savoir plus, puis cliquez sur Rechercher . Vous serez dirigé vers la documentation de WordPress.org pour cette fonction.
Lorsque vous avez terminé vos modifications, cliquez sur Mettre à jour le fichier . Vérifiez l'avant et l'arrière de votre site pour vous assurer que tout fonctionne toujours comme prévu. Si vous rencontrez une erreur fatale et que vous devez restaurer functions.php à partir de votre sauvegarde, vous pouvez le faire dans cPanel ou via SFTP.
Modification de functions.php avec un éditeur de texte
La meilleure façon d'éditer functions.php est dans le logiciel d'édition de code de votre choix. Étant donné que vous modifiez une copie hors connexion sur votre ordinateur local, vous n'avez pas besoin d'être connecté à Internet pour travailler sur votre fichier. Vous aurez également plus de contrôle sur le moment où vous validerez vos modifications sur votre site en ligne.
Vous pouvez modifier votre code quand vous le souhaitez et télécharger vos modifications à un moment où votre site Web reçoit normalement le moins de trafic. De cette façon, s'il y a des problèmes, le moins de visiteurs seront touchés.
Étape 1 : Ouvrez functions.php dans votre éditeur de texte. Si vous n'êtes pas familier avec l'utilisation d'un éditeur de texte, vous avez le choix entre plusieurs options gratuites.
Éditeurs de code source et de texte brut gratuits :
Application | Système |
Bloc-notes++ | les fenêtres |
Atom.io | Windows, Mac, Linux |
Sublime | Windows, Mac, Linux |
TexteModifier *Assurez-vous que vous êtes en mode texte brut | Mac (application par défaut) |
Bloc-notes | Windows (application par défaut) |
Étape 2 : Modifiez functions.php et enregistrez-le sur votre ordinateur local. Votre affichage peut être différent selon le programme que vous utilisez pour modifier votre fichier functions.php . Voici à quoi ressemble le code PHP dans atom.io :

Ajoutez ou modifiez les informations dont vous avez besoin, puis enregistrez votre fichier.
Étape 3 : Connectez-vous à votre serveur Web via SFTP ou cPanel. Accédez à votre dossier de thème ou de thème enfant et recherchez le fichier functions.php .
Étape 4 : Modifiez le nom du fichier functions.php sur votre serveur Web. Si votre version modifiée contient des erreurs, vous ne voulez pas écraser votre fichier functions.php d'origine. Vous avez fait une sauvegarde, bien sûr, mais au lieu d'avoir à extraire le fichier functions.php de votre sauvegarde, vous aurez votre fichier d'origine sous la main.
Vous voulez pouvoir restaurer rapidement le fichier functions.php en cas de problème, donc le renommer en quelque chose comme 'functions-orginal.php' vous assurera que le contenu du fichier d'origine est conservé sur votre serveur.

Étape 5 : Téléchargez functions.php de votre ordinateur local vers votre serveur Web. En utilisant SFTP ou cPanel, téléchargez votre fichier functions.php dans le répertoire principal de votre thème ou du thème enfant.

Étape 6 : Visitez votre site Web pour vous assurer qu'il fonctionne correctement. Une fois que vous avez téléchargé votre fichier functions.php , vous devez vérifier que tout fonctionne sur votre site. Visitez le front-end et connectez-vous au tableau de bord WordPress pour vous assurer que tout est accessible et s'affiche et fonctionne correctement.
Étape 7 : Supprimez l'ancien fichier functions.php renommé. Une fois que vous avez établi que votre site fonctionne correctement, vous pouvez supprimer functions-original.php (ou tout ce que vous avez renommé). Si vous trouvez un problème sur la route, vous devriez toujours avoir votre fichier functions.php à partir de la sauvegarde que vous avez faite.
Modification de functions.php directement dans cPanel
Si vous n'avez pas ou ne voulez pas utiliser d'éditeur de code source, vous pouvez éditer functions.php directement dans cPanel (si votre hébergeur utilise cPanel). Comme l'édition dans l'éditeur de fichiers de thème WordPress, c'est un peu plus risqué que de travailler sur votre machine locale. Si votre connexion Internet est interrompue pendant que vous modifiez, vous risquez de perdre vos modifications. Vous courez également le risque d'écraser potentiellement votre fichier functions.php d'origine.
Étape 1 : Trouvez functions.php dans cPanel. Dans cPanel, cliquez sur Gestionnaire de fichiers .
Accédez à votre dossier racine (généralement public_html ou www , mais il peut avoir un nom différent).
Étape 2 : Faites une copie de functions.php . Dans le menu principal de votre gestionnaire de fichiers, cliquez sur + Dossier pour ajouter un nouveau dossier. Vous voudrez faire une copie de votre fichier functions.php et l'enregistrer ici en tant que sauvegarde.
Nommez votre nouveau dossier quelque chose de facile à identifier comme "fonctions de sauvegarde" afin que vous puissiez le retrouver facilement plus tard. Cliquez sur Créer un nouveau dossier .

Étape 3 : Recherchez functions.php dans votre dossier de thème ou de thème enfant et copiez-le dans le dossier de sauvegarde. Dans votre dossier de thème ou de thème enfant, faites défiler jusqu'à functions.php et faites un clic droit sur le nom du fichier. Sélectionnez Copier .

Une boîte de dialogue apparaîtra vous demandant d'entrer le chemin vers lequel vous voulez copier le fichier. Le chemin d'accès au dossier dans lequel vous vous trouvez actuellement sera pré-rempli, donc si le chemin d'accès au fichier de votre dossier de sauvegarde diffère de ce que vous voyez, saisissez le chemin d'accès correct. Cliquez sur Copier le(s) fichier(s) .
Étape 4 : Revenez à functions.php dans le répertoire du thème ou du thème enfant. Maintenant que vous avez une sauvegarde, vous pouvez revenir au fichier functions.php dans le répertoire du thème ou du thème enfant et commencer à éditer.
Faites un clic droit sur functions.php , puis cliquez sur Modifier .
Étape 5 : Modifier functions.php . Vous devriez maintenant voir le contenu de votre fichier functions.php sur votre écran. Ça devrait ressembler a quelque chose comme ca:

Ajoutez ou modifiez les informations dont vous avez besoin, puis enregistrez votre fichier.
Utiliser un plugin pour ajouter des fonctions à votre site WordPress
Au lieu de modifier directement le fichier functions.php , vous pouvez utiliser un plugin comme Code Snippets pour ajouter des fonctions à votre site Web. Si vous avez besoin d'ajouter un bon nombre de fonctions à votre site, il peut être facile de perdre de vue les fonctions dont vous avez encore besoin et celles dont vous n'avez pas besoin.
Code Snippets fournit une interface utilisateur graphique (GUI) pour gérer vos blocs de code PHP. Vous pouvez ajouter des descriptions pour savoir ce que le code est censé faire et activer et désactiver des blocs de code, un peu comme activer et désactiver un plugin.
Puisque vous n'apportez pas de modifications à functions.php , il s'agit d'une méthode beaucoup plus sûre pour ajouter des fonctions PHP à votre site WordPress.
Comment protéger functions.php des exploits de sécurité
Le fichier functions.php est souvent la cible de pirates, sa sécurité doit donc être une priorité absolue. Suivez les étapes suivantes pour vous aider à sécuriser votre fichier functions.php :
1. Installez un plugin de sécurité
En utilisant un plugin de sécurité, vous bénéficierez d'une protection avancée contre les pirates dans plusieurs zones de votre site.
Jetpack Security est une option peu coûteuse qui aide à protéger votre site contre les attaques malveillantes. Il comprend une analyse des logiciels malveillants et des correctifs en un clic, une protection contre les attaques par force brute, une surveillance des temps d'arrêt, un journal d'activité vous permettant de savoir si et quand votre site a été piraté, et une protection de connexion via une authentification à deux facteurs (2FA).

Jetpack Security surveille également votre site pour toute modification des fichiers principaux de WordPress, des plugins obsolètes ou non sécurisés et d'autres vulnérabilités afin que vous puissiez les détecter avant qu'un pirate ne les trouve et en profite.
De plus, il fournit des sauvegardes WordPress en temps réel afin que vous puissiez rapidement restaurer une version propre en cas de problème, même si vous ne pouvez pas vous connecter à votre site.
2. Refuser l'accès à WordPress core functions.php via le fichier . fichier htaccess
Si votre site Web est hébergé sur un serveur Apache, vous pouvez utiliser un fichier . htaccess pour aider à protéger votre fichier WordPress core functions.php en bloquant l'accès à l'intégralité du dossier wp-includes .
Étape 1 : Téléchargez .htaccess
À l'aide de SFTP ou de cPanel, accédez au dossier racine de votre site Web. Faites un clic droit sur . htaccess et sélectionnez Télécharger pour télécharger le fichier sur votre ordinateur local.
Étape 2 : Ajoutez du code pour bloquer l'accès au dossier wp-includes
Dans un éditeur de code source ou de texte brut, ouvrez . htaccess et ajoutez le code suivant :
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>
Enregistrez votre fichier. Assurez-vous que votre programme d'édition n'inclut pas d'extension de fichier. Si vous utilisez Notepad++ ou Text Edit, il peut ajouter une extension de fichier .txt. Le fichier doit simplement être nommé ".htaccess".
Étape 3 : téléchargez le fichier . htaccess retour au dossier racine
Téléchargez votre fichier . htaccess dans le dossier racine de votre site Web. Il vous sera demandé si vous souhaitez écraser le fichier existant. Cliquez sur OK .
Maintenant votre . htaccess devrait bloquer l'accès externe à tous les fichiers de votre dossier wp-includes , y compris functions.php .
3. Refuser l'accès à functions.php en utilisant functions.php
Vous pouvez bloquer l'accès direct à votre fichier functions.php en ajoutant l'extrait de code suivant directement à functions.php .
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'functions.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('Access denied!'); }
4. Cachez functions.php en dehors du répertoire racine
Les pirates connaissent l'emplacement par défaut de tous les fichiers WordPress standard. Changer l'emplacement des fichiers sensibles vers un dossier à accès restreint en dehors du répertoire racine peut le garder hors de portée des pirates. Ce processus est un peu plus compliqué que de simplement ajouter du code à votre fichier .htaccess , mais cela vaut la peine d'efforts supplémentaires pour la couche de protection supplémentaire de votre site Web.
En quelques étapes seulement, vous pouvez sécuriser functions.php en dehors du dossier racine.
Étape 1 : Téléchargez votre fichier functions.php actuel
Si vous déplacez le fichier functions.php de votre thème, vous le trouverez sous wp-content → themes → yourtheme . Le fichier de votre thème enfant sera dans wp-content → themes → yourtheme-child .
Une fois que vous avez trouvé votre fichier functions.php , téléchargez-le sur votre ordinateur via SFTP ou cPanel.
Étape 2 : Créez un nouveau répertoire en dehors du dossier racine
Naviguez en dehors de votre répertoire racine jusqu'au niveau supérieur du dossier de fichiers. Vous devriez voir le nom de votre dossier racine ainsi que plusieurs autres dossiers. Dans ce répertoire, faites un clic droit et sélectionnez Créer un répertoire .

Donnez à votre répertoire un nom facile à retenir comme emplacement de votre fichier functions.php .
Étape 3 : Téléchargez functions.php dans votre nouveau dossier
Téléchargez le fichier functions.php que vous avez téléchargé précédemment dans votre nouveau dossier via SFTP ou cPanel.

Vérifiez vos nouvelles autorisations de dossier et de fichier functions.php et assurez-vous qu'elles sont définies sur 600.

Étape 4 : Pointez WordPress vers le nouveau fichier functions.php
Vous devriez avoir un fichier functions.php dans votre nouveau répertoire ainsi que le fichier functions.php d'origine qui se trouve toujours dans votre dossier de thème. Pour que WordPress trouve et utilise le bon fichier, vous devrez supprimer toutes les informations du fichier functions.php de votre fichier de thème et l'extrait de code suivant :
<?php include('/home3/usr/securefunctions/functions.php'); ?>
Remarque : Votre chemin de fichier sera différent, car vous utiliserez les noms de répertoire de votre serveur.
Dans cPanel, vous pouvez ouvrir le fichier functions.php du répertoire racine et le modifier directement ou vous pouvez modifier la copie que vous avez précédemment téléchargée sur votre ordinateur local à l'aide d'un éditeur de code source. Pour cet exemple, nous avons modifié la copie que nous avons téléchargée précédemment à l'aide d'Atom.io.
Enregistrez votre fichier funtions.php et téléchargez-le dans votre répertoire de thème.

Il vous sera demandé si vous souhaitez écraser le fichier. Cliquez sur OK .
Maintenant, WordPress devrait référencer votre nouveau fichier functions.php dans son emplacement sécurisé en dehors du dossier racine.
4. Changez le nom de votre fichier functions.php
Changer le nom de votre fichier functions.php est une autre étape que vous pouvez prendre pour le protéger des pirates. Vous devrez héberger ce fichier en dehors de votre dossier racine, donc si vous avez suivi le processus dans Hide functions.php en dehors du répertoire racine , vous n'aurez qu'à suivre quelques étapes supplémentaires.
Étape 1 : Dans votre répertoire sécurisé en dehors du dossier racine, modifiez le nom du fichier functions.php
Allez dans le dossier functions.php hébergé en dehors de votre répertoire racine et changez le nom du fichier en quelque chose d'unique, comme "keep-out.php" ou "ce-ne-sont-pas-les-fonctions-que-vous-recherchez". php' . D'accord, ce dernier est un peu long, mais peu importe comment vous l'appelez tant que vous l'incluez dans le chemin du fichier dans la copie du dossier de thème de functions.php .
Étape 2 : Modifiez le code dans functions.php dans votre répertoire racine pour refléter le changement de nom
Maintenant que vous avez changé le nom en quelque chose d'autre que functions.php , vous devez vous assurer que la copie de votre répertoire de thèmes de functions.php pointe vers le bon nom de fichier.
Téléchargez la copie du dossier racine de functions.php sur votre ordinateur local et modifiez-la avec votre éditeur de texte. Remplacez le nom du fichier functions.php par votre nouveau nom de fichier, puis enregistrez votre fichier.
<?php include('/home3/usr/secureconfig/keep-out.php'); ?>
Étape 3 : Téléchargez functions.ph p dans le répertoire du thème
Il vous sera demandé si vous souhaitez écraser le fichier existant. Cliquez sur OK .
Maintenant, WordPress devrait pointer vers votre fichier de fonctions renommé.
Couches de sécurité supplémentaires pour functions.php
Vous pouvez ajouter une protection supplémentaire à votre site Web dans son ensemble, y compris votre fichier functions.php , en apportant des modifications similaires à votre fichier wp-config , comme le renommer, l'héberger en dehors du répertoire racine et refuser l'accès public.
Si vous voyez du code suspect dans vos fichiers functions.php et que vous craignez d'avoir déjà été piraté, vous voudrez lire comment détecter et supprimer les logiciels malveillants de votre site Web WordPress.
Quel code puis-je ajouter à functions.php dans WordPress ?
Il existe de nombreux extraits de code différents que vous pouvez ajouter à votre fichier WordPress functions.php . Cependant, vous êtes souvent mieux servi en utilisant un plugin (ou en écrivant votre propre plugin) pour de nombreuses fonctions. Si le code que vous souhaitez ajouter est spécifique à votre thème, vous pouvez ajouter ce code PHP au fichier functions.php de votre thème enfant.
Vous trouverez ci-dessous une poignée de fonctions utiles que vous pourriez insérer dans le fichier functions.php de votre thème enfant :
Ajout d'un nouvel utilisateur administrateur dans functions.php
Si vous avez perdu l'accès administrateur à votre tableau de bord WordPress et que vous ne pouvez pas récupérer votre nom d'utilisateur ou votre mot de passe par e-mail, vous pouvez créer un nouvel utilisateur administrateur via votre compte d'hébergement. Soit via SFTP ou cPanel, vous pouvez télécharger votre fichier functions.php et ajouter le code suivant pour créer un nouvel utilisateur administrateur pour votre site.
function qode_add_new_admin_account() { $user = 'your-username'; $password = 'your-password'; $email = 'your-email'; if ( ! username_exists( $user ) && ! email_exists( $email ) ) { $user_id = wp_create_user( $user, $password, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action( 'init', 'qode_add_new_admin_account' );
Dans le code ci-dessus, remplacez « votre-nom d'utilisateur », « votre-mot de passe » et « votre-e-mail » par vos propres informations d'identification. Enregistrez votre fichier functions.php et téléchargez-le à nouveau dans votre dossier de thème. Cela créera un nouvel utilisateur administrateur avec le nom d'utilisateur, le mot de passe et l'adresse e-mail que vous avez attribués dans le code.
Après avoir téléchargé votre fichier, accédez à la page de connexion de votre site et utilisez votre nouveau nom d'utilisateur et mot de passe pour vous connecter. Une fois que votre connexion est réussie et que vous avez confirmé que vous disposez des privilèges d'administrateur, vous devez supprimer le code que vous avez ajouté à créez votre nouveau compte administrateur à partir de functions.php .
Ajout et suppression de tailles d'image dans functions.php
Lorsque vous téléchargez une image dans la médiathèque WordPress, plusieurs variantes de votre image sont générées. WordPress a des miniatures par défaut, des tailles petites, moyennes et grandes qui sont utilisées en plus de votre image en taille réelle. Votre thème tirera généralement la taille d'image optimale pour les différentes parties de votre site.
Si vous créez votre propre thème ou si vous avez besoin d'apporter des modifications à un thème enfant pour s'adapter à des tailles d'image personnalisées supplémentaires, vous pouvez le faire dans votre fichier functions.php .
Utilisez le code suivant et modifiez le nom de votre taille d'image personnalisée de 'custom-small-square' et 'custom-landscape' au nom que vous souhaitez utiliser. Les nombres à côté du nom de votre taille d'image personnalisée représentent la taille de l'image en pixels, entrez donc les valeurs de pixel avec la largeur en premier et la hauteur en second.
function register_custom_image_sizes() { if ( ! current_theme_supports( 'post-thumbnails' ) ) { add_theme_support( 'post-thumbnails' ); } add_image_size( 'custom-small-square', 450, 450, true ); add_image_size( 'custom-landscape', 1000, 600 ); } add_action( 'after_setup_theme', 'register_custom_image_sizes' );
Keep in mind that additional custom image sizes can weigh down your site and impact load times. If you have some WordPress default image sizes that your theme doesn't use, you may want to delete and disable those to make room for your custom sizes.
If you want to disable WordPress default image sizes, you can place this code snippet into your functions.php file:
add_filter( 'intermediate_image_sizes_advanced', 'prefix_remove_default_images' ); // This will remove the small, medium, and large default image sizes. function prefix_remove_default_images( $sizes ) { unset( $sizes['small']); // 150px unset( $sizes['medium']); // 300px unset( $sizes['large']); // 1024px return $sizes; }
If you only need to disable one or two sizes, you can only add those sizes to the code above and delete the code that you don't need.
Use functions.php to allow additional file types in uploads
WordPress only allows a few different file types to be uploaded in your WordPress dashboard. This is a reasonable security measure, but you might encounter a situation where you need to upload a file type that's not natively allowed.
To add more allowed file types to WordPress, add the following code to your child theme's functions.php :
function additional_upload_file_types($mime_types){ $mime_types['stl''] = 'application/sla'; $mime_types['stl'] = 'application/vnd.ms-pki.stl'; $mime_types['stl'] = 'application/x-navistyle'; return $mime_types; } add_filter('upload_mimes', 'additional_upload_file_types', 1, 1);
For the above example, we used the stl file type, which is a CAD file type. It's an unusual file type to upload to a website outside of certain niche industries, but if your site is for an industrial designer, engineering firm, or even an orthodontics lab, you might find the ability to upload STL files really useful.
You can replace the $mime_type variable with whatever file extension suits the needs of your website. You'll also need to include the media type and subtype after that (eg 'application/sla' or 'image/octet-stream'). Here's a complete list of mime types that you can refer to.
Frequently asked questions about editing the functions.php file in WordPress
We've covered what the functions.php file is, how to find functions.php , how to access it, how to edit it, and a few code snippets you can add to your functions.php file. We'll wrap things up with a few helpful answers to frequently asked questions.
Do I really need to use a child theme to edit functions.php ?
La réponse courte? Oui.
If you're a theme developer, you'll definitely want to add your theme-specific functions directly to your theme's functions.php file. If you're modifying a theme from another developer that will get regular updates, however, you'll absolutely want to use functions.php within a child theme.
Most theme developers will periodically make updates to their themes for security and performance reasons, or to add new features. If you change the parent theme's functions.php file, those changes will all be overwritten when you update to your theme's latest version. All your hard work and customizations — poof! Gone.
Child themes aren't touched when the parent theme updates, so if you make changes to your child theme's functions.php file, your changes will be preserved any time you update your parent theme.
I edited functions.php and now I don't have access to my WordPress dashboard. Aider!
In the unfortunate event that you edited the functions.php file and caused a critical error on your site that kept you from accessing the WordPress dashboard, don't worry — all is not lost!
There are a few things you can do to restore access to your site. You can edit functions.php via SFTP and a text editor or directly in cPanel if you know which bit of code caused the issue. Alternatively, you can restore functions.php from a backup or download a fresh copy of functions.php from your theme developer.
I know what code I messed up. I just need to access and edit functions.php to fix it.
See How to edit functions.php above for instructions on how to access and edit your theme or child theme's functions.php file.
I have no clue what I did to my functions.php file, but I have a backup.
If you have a backup on hand, you can access your files either on your web host's server or your remote server (depending on where you have opted to store these files), and use them to replace your corrupt functions.php file via SFTP or cPanel.
If you feel more comfortable restoring your entire site backup rather than trying to restore just the functions.php file, our article, “How to Restore WordPress from a Backup” goes in depth on the different methods you can use to restore your WordPress site.
I have no idea what code caused the problem and I didn't make a backup.
If you don't have a backup, you can download a fresh copy of the theme you're using from your theme developer, extract the functions.php file, and overwrite the broken functions.php file on your server via SFTP or cPanel.
Note: If you're using a theme that hasn't been updated in awhile, you may encounter issues in overwriting functions.php with a version that's from a much more recent update. If you encounter issues, you might be better off just manually updating your entire theme to the latest version. Alternatively, you can contact your theme developer to get the theme files for your current version and use that version of functions.php .
Can I add JavaScript to my functions.php file?
Yes, you can add code to your functions.php file that will add your custom JavaScript to either specific pages, posts, or all pages and posts on your site. This article covers all the different ways you can add JavaScript to your functions.php file.