Fichier functions.php de WordPress : quelle est son utilité ?
Pour une raison ou une autre, vous pourriez avoir besoin de personnaliser le thème que vous utilisez pour votre site WordPress. Il se peut aussi que votre thème vous paraisse excellent, mais que certaines fonctionnalités semblent manquer à votre site. Pour personnaliser un thème ou ajouter des fonctions supplémentaires, il est souvent nécessaire de modifier le fichier functions.php. Dans ce fichier, vous pouvez ajouter toute sorte de morceaux de code afin d’étendre les fonctionnalités que WordPress offre. Mais la modification de ce fichier est une opération délicate, car cela peut casser votre site. Il faut donc avoir des notions relativement avancées en programmation web pour modifier le fichier functions.php d’un thème WordPress. Avant de voir comment modifier ce fichier, nous vous proposons de découvrir son importance pour un site WordPress.
Que fait le fichier functions.php pour un site WordPress ?
À l’instar des plugins, le fichier functions.php de WordPress a vocation à modifier le comportement de votre site web. Grâce à ce fichier, vous pouvez ajouter de nouvelles fonctionnalités et modifier le comportement de base de WordPress. Le fichier functions.php appartient généralement à un thème. Sa modification doit donc se faire délicatement. Selon vos compétences, vous pouvez compléter ou simplement améliorer le code existant afin de modifier le fonctionnement des différentes parties de votre site WordPress. Le fichier functions.php apparaît donc comme l’un des plus importants d’un site web développé avec le CMS WordPress. Mais il ne faut pas croire que c’est un fichier qui se limite exclusivement à la personnalisation d’un thème. Bien qu’il soit inclus dans votre thème, le fichier functions.php peut aussi être utilisé pour apporter des modifications à n’importe quelle autre partie de votre site.
Voici par exemple, quelques types d’ajustement récurrents que vous pouvez faire grâce au fichier functions.php.
- Modification du comportement de base de WordPress ;
- Création de codes courts personnalisés ;
- Ajout de nouveaux contenus ou de nouveaux scripts à un site.
Vous pouvez modifier le contenu à inclure dans le flux RSS du site ou encore le nombre d’articles à afficher sur la page de résultats de recherche. Il est aussi possible d’injecter de nouveaux scripts qui permettront aux visiteurs de discuter en direct sur certaines pages spécifiques. Par ailleurs, beaucoup de développeurs WordPress modifient le pied de page de leurs sites directement dans le fichier functions.php des thèmes utilisés. Les possibilités de modification sont quasi-illimitées grâce à ce fichier.
Où peut-on trouver le fichier functions.php ?
Vous pouvez trouver le fichier WordPress functions.php dans le dossier de votre thème actif. Il fait partie des fichiers présents à la racine du thème du site. Si vous souhaitez le modifier en y ajoutant vos propres codes PHP, il suffit de vous connecter à votre serveur via un client FTP ou un outil tiers de gestion de fichiers. Une fois connecté, naviguez jusqu’à atteindre le fichier en suivant le chemin …/wp-content/themes/[nom-du-theme-actif]/functions.php.
Par exemple, si votre thème actif est Astra, le fichier functions.php se trouvera certainement à l’adresse : …/wp-content/themes/astra/functions.php. Mais vous pouvez aussi modifier le fichier depuis le back-office de votre site WordPress. Pour ce faire, allez sur votre tableau de bord et cliquez sur « Editeur de fichiers des thèmes dans l’onglet Apparence. Dans le volet droit de la page qui apparaît, se trouvent certains fichiers dont functions.php. Vous pouvez le sélectionner et l’éditer.
Comment travailler avec le fichier functions.php en toute sécurité ?
Des trois méthodes cotées précédemment pour accéder au fichier, il est plus prudent de choisir les deux premières. En effet, le fait de modifier directement un fichier depuis le Dashboard de WordPress peut contribuer à endommager certains blocs de codes qui se trouvent dans d’autres fichiers. Mais quelle que soit la méthode que vous allez choisir, le risque zéro n’existe pas. Travailler avec functions.php implique d’ajouter du code PHP dynamique. Il faut impérativement adopter les bonnes pratiques pour ne pas casser la présentation visuelle de votre site web. Une petite virgule ou une apostrophe mal placée ou manquante peut déclencher plusieurs erreurs sur votre site WordPress. WordPress a heureusement amélioré la gestion des erreurs dans ses récentes versions. Dès qu’il y a une erreur, un message s’affiche : « Une erreur critique s’est produite sur votre site web ».
WordPress vérifie toujours la présence d’erreurs PHP avant de sauvegarder les modifications que vous apportez au fichier functions.php et aux autres fichiers PHP de votre site. Nous recommandons cependant de suivre les pratiques suivantes :
Tester les extraits de code sur un site de staging
Avant d’ajouter un extrait de code dans le fichier functions.php de votre site WordPress, pensez d’abord à le tester sur une version de staging de votre site. Ainsi, vous pourrez vérifier qu’il n’y a aucune erreur potentielle dans cet extrait de code et qu’il fonctionne correctement comme vous l’aviez prévu.
Il convient de rappeler qu’un site de staging est une copie quasi identique d’un site existant en production. Le site de staging se trouve généralement dans un bac à sable privé et sécurisé et permet d’effectuer des tests avant la mise en production. Grâce au site de staging, vous n’aurez donc pas besoin d’utiliser le mode de maintenance sur votre site réel.
Certains hébergeurs de sites WordPress proposent des outils de simulation en un clic sur leurs différents plans d’hébergement. Utilisez-les pour tester vos modifications. C’est l’un des principaux avantages de l’hébergement WordPress infogéré. N’hésitez pas à demander à votre hébergeur de vous aider à mettre en place un site de staging WordPress.
Sauvegarder entièrement votre site avant de modifier le fichier functions.php
En plus de faire des tests sur un site de staging, vous devez sauvegarder le site en production avant d’ajouter n’importe quel extrait de code. La sauvegarde est une pratique à toujours adopter quel que soit le type de fichier que l’on souhaite modifier. Si un problème survient lorsque vous ajoutez votre extrait de code au fichier functions.php, vous pouvez restaurer votre site à un point antérieur. Cela rétablira instantanément le fonctionnement de votre site web. Encore une fois, la plupart des hébergeurs font une sauvegarde automatique des sites de leurs clients tous les jours. Mais vous pouvez bien évidemment faire vous-même une sauvegarde manuelle à tout moment. Demandez, si nécessaire, un guide à votre hébergeur pour savoir comment sauvegarder un site WordPress manuellement.
Utiliser un thème enfant
Le fichier functions.php se trouve dans le code du thème de votre site WordPress. Si vous mettez à jour ce thème, le fichier sera écrasé. Afin d’empêcher que les modifications apportées au fichier functions.php de votre thème WordPress ne soient écrasées, il faudra utiliser un thème enfant. Vous placerez prioritairement les extraits de code modifiés au fichier functions.php du thème enfant. Vous pourrez toujours mettre à jour le thème parent en utilisant le thème enfant. L’avantage, c’est que les personnalisations ou les modifications apportées au fichier ne seront pas écrasées.
Fichier functions.php : quelques cas d’utilisation
Avec functions.php, vous pouvez personnaliser certaines parties de votre site. De façon générale, il existe différents cas d’utilisation de ce fichier. En voici quelques-uns :
Affichage de la date de dernière modification sur les articles
Par défaut, la quasi-totalité des thèmes affiche la date à laquelle on publie un article de blog. Mais pour certaines raisons, vous pouvez vouloir actualiser un article. Lorsque vous l’actualisez, c’est toujours la date de création de l’article qui reste affichée. Dans certains contextes, il est préférable de faire apparaître la date de dernière modification. Cela est possible en modifiant le fichier functions.php. En ajoutant un extrait de code particulier pour afficher la date de dernière modification, vos visiteurs humains comprendront que vous mettez régulièrement à jour vos contenus. De même, Google saura que vos contenus sont frais. Ce qui constitue un avantage pour votre site en termes de SEO. Découvrez ci-dessous un exemple de code à ajouter au code contenu dans functions.php pour modifier la date de dernière modification de vos articles de blog.
function show_last_updated( $content ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 89500) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'show_last_updated' );
Désactivation de la barre d’outils WordPress pour certains visiteurs de votre site
WordPress affiche par défaut la barre d’outils pour tous les utilisateurs connectés en se basant uniquement sur les rôles d’utilisateur intégrés au CMS. Vous pouvez ajouter un extrait de code au fichier functions.php pour masquer la barre d’outils pour certains rôles d’utilisateurs. L’extrait de code suivant vous permettra par exemple de masquer cette carre pour les comptes d’utilisateur ayant le rôle « Auteur » :
add_filter( 'show_admin_bar', function( $show ) {
if ( current_user_can( 'author' ) ) {
return false;
}
return $show;
} );
Retarder l’apparition des contenus dans le flux RSS du site web
Les articles apparaissent par défaut dans le flux RSS dès que vous les publiez. Les pirates peuvent récupérer vos contenus et les indexer dans Google avant même que les robots de Google n’indexent vos articles originaux.
Pour éviter que d’autres personnes ne profitent de vos efforts, retardez simplement l’apparition de vos publications dans le flux RSS. Vous pouvez le faire en ajoutant un code spécifique dans le fichier functions.php de votre thème. Il faut noter que cela ne permet pas strictement d’arrêter complètement les voleurs de contenus. Mais en modifiant functions.php, vous pouvez au moins donner à Google suffisamment de temps pour indexer vos contenus en premier.
Fichier functions.php : quelles alternatives ?
Il est indéniable que le fichier functions.php offre un moyen plutôt facile d’ajouter des extraits de code à son site WordPress. Mais il existe aussi des alternatives qui semblent offrir une meilleure solution. Vous pouvez simplement utiliser une extension de gestion de code pour ajouter des bouts de code à votre site. Vous avez aussi la possibilité de stocker vos extraits de codes dans une extension personnalisée. Par rapport à l’utilisation de functions.php, ces deux alternatives présentent plusieurs avantages. Premièrement, il n’y a aucun lien avec le thème du site. Cela veut dire que même si vous changez de thème, vos personnalisations ne seront pas écrasées. Par ailleurs, ce sont des alternatives qui facilitent l’organisation des extraits de code. Avoir un moyen de mieux organiser son code peut être utile si vous prévoyez d’ajouter un grand nombre d’extraits.
Avec les extensions de gestion de code, vous pouvez même activer et désactiver certains bouts de code à l’aide de bouton de bascule.
Utilisation de plugin de gestion de code
L’extension de gestion de code est un outil qui propose une interface plutôt conviviale pour l’ajout et la modification d’extraits de code. Ces extraits de code seront automatiquement placés dans le fichier WordPress functions.php. Il y a plusieurs options en termes de plugin de gestion de code. Mais l’option qui semble la plus populaire aujourd’hui, c’est le plugin gratuit Code Snippets. Avec cette extension, vous pouvez ajouter vos propres extraits de code functions.php directement à partir du dashboard de votre site WordPress. Code Snippets vous permettra d’ajouter n’importe quel type de code. Toutefois, c’est un outil qui permet d’ajouter plus rapidement certains types de code :
- Ajout de titre et de description ;
- Bonne organisation de vos extraits de codes à l’aide d’étiquettes ;
- Exécution de l’extrait ajouté que sur certaines parties du site.
En bonus, selon les besoins, vous pouvez activer ou désactiver les extraits de code ajoutés. Par ailleurs, il convient de noter que même si vous changez de thème, toutes les modifications effectuées avec Code Snippets et tous les extraits de code ajoutés seront toujours présents.
Créer soi-même une extension personnalisée de fonctionnalité
La deuxième alternative à functions.php que nous vous suggérons, c’est la création de votre propre extension personnalisée. C’est cette extension qui hébergera les extraits de code. Créer un plugin WordPress n’est cependant pas facile, surtout pour les débutants en programmations web. Toutefois, pour créer une extension de fonctionnalité personnalisée de ce type, il faut simplement suivre certaines étapes que voici :
- Créer un dossier pour l’extension sur l’ordinateur ;
- Créer un fichier .php dans le dossier et le modifier avec un éditeur de texte ;
- Ajouter un modèle de code spécifique (vous trouverez plus bas le modèle de code à utiliser) ;
- Compléter vos propres extraits de code functions.php.
<?php
/**
* Plugin Name: Extraits de code personnalisés
* Description: Il s'agit d'un plugin personnalisé pour héberger des extraits de code.
* Author: Bew-Web-Agency
* Version: 1.0
*/
/* Ajouter le premier extrait de code sous ce commentaire - Utiliser le commentaire pour expliquer ce que le code fait. */
[CODE]
/* Ajouter le deuxième extrait de code sous ce commentaire. */
[CODE]
/* Continuer au besoin. */
[CODE]
?>
NB : Il est recommandé de ne pas mettre d’espace avant le symbole « : » au niveau des informations d’entête (Plugin name, Description, Author et Version).
Après la création du fichier et du dossier, il suffira d’installer et d’activer l’extension sur votre site WordPress. Il y a deux méthodes pour le faire. Premièrement, vous pouvez vous connecter à votre serveur via le client FTP et téléverser le dossier de l’extension créée dans le dossier wp-content/plugins. Allez ensuite dans la liste des extensions et activez-la. La seconde méthode consiste à compresser le dossier créé dans un fichier .zip. Il ne vous restera plus qu’à aller dans « Extensions → Ajouter » dans votre dashboard pour téléverser le fichier .zip.
Et vous, comment utilisez-vous habituellement le fichier functions.php ?