Apporter de petites modifications à votre site WordPress peut donner l'impression de débloquer des superpouvoirs cachés. Avec seulement quelques lignes de code dans le fichier functions, vous pouvez personnaliser le fonctionnement de votre site, sans avoir besoin de plugins supplémentaires.
Nous avons passé des années à expérimenter avec le fichier functions.php, et c'est l'un des outils les plus utiles dans la boîte à outils d'un utilisateur WordPress. Vous pouvez ajouter des fonctionnalités personnalisées, supprimer des éléments dont vous n'avez pas besoin et affiner le comportement de votre site avec un peu de code.
Mais avant de commencer, il y a une règle importante : sauvegardez toujours votre site. Modifier le fichier functions, c'est comme ajuster le moteur d'une voiture ; une petite erreur peut tout casser. Si vous souhaitez une approche plus sûre, nous vous recommandons d'utiliser plutôt un plugin de morceaux de code personnalisés.
Dans ce guide, nous allons partager 25 astuces utiles que vous pouvez utiliser pour personnaliser WordPress via le fichier functions. Commençons !

Qu'est-ce que le fichier Functions dans WordPress ?
Le fichier functions.php est comme le cerveau de votre thème WordPress. Il est inclus avec chaque thème WordPress gratuit et premium et permet aux développeurs de définir des fonctionnalités personnalisées.
Considérez-le comme un mini-plugin intégré à votre thème. Vous pouvez ajouter des extraits de code personnalisés pour ajuster le fonctionnement de votre site, de l'ajout de widgets supplémentaires à la modification des pages de connexion. C'est un outil puissant, mais il y a un hic.
Modifier directement le fichier des fonctions n’est pas la meilleure idée. Si vous mettez à jour votre thème, vous perdrez tout votre code personnalisé. Et si vous faites une erreur, cela pourrait casser votre site, vous laissant à vous démener pour le réparer.
C’est pourquoi nous recommandons toujours d’utiliser WPCode, un plugin gratuit qui rend l’ajout de snippets de code facile et sans risque.
Pourquoi préférons-nous WPCode ?
- Vous pouvez enregistrer des snippets personnalisés sans toucher aux fichiers du thème ou du cœur du site.
- Il place automatiquement votre code là où vous en avez besoin.
- Les snippets sont enregistrés séparément, vous pouvez donc les activer ou les désactiver à tout moment.
- Il dispose d’un système de sécurité intégré qui désactive tout snippet provoquant des erreurs.
En prime, le plugin WPCode inclut une énorme bibliothèque de snippets préconfigurés. Vous pouvez les activer en un seul clic, sans aucun codage requis !

Pour plus d’informations, consultez notre avis détaillé sur WPCode.
Maintenant que vous connaissez la meilleure façon de gérer les snippets de code, plongeons dans quelques fonctions pratiques que vous pouvez utiliser pour personnaliser votre site WordPress.
- Comment ajouter ces snippets de code à votre site Web
- Supprimer le numéro de version de WordPress
- Ajouter un logo personnalisé au tableau de bord
- Modifier le pied de page dans le panneau d’administration WordPress
- Ajouter des widgets personnalisés au tableau de bord dans WordPress
- Modifier le Gravatar par défaut dans WordPress
- Date de copyright dynamique dans le pied de page WordPress
- Changer aléatoirement la couleur d’arrière-plan dans WordPress
- Mettre à jour les URL WordPress
- Ajouter des tailles d’image supplémentaires dans WordPress
- Ajouter de nouveaux menus de navigation à votre thème
- Ajouter des champs de profil d’auteur
- Ajout de zones prêtes pour les widgets ou de barres latérales dans les thèmes WordPress
- Manipuler le pied de page du flux RSS
- Ajouter des images mises en avant aux flux RSS
- Masquer les erreurs de connexion dans WordPress
- Désactiver la connexion par e-mail dans WordPress
- Désactiver la fonction de recherche dans WordPress
- Retarder les articles dans le flux RSS
- Modifier le texte « Lire la suite » pour les extraits dans WordPress
- Désactiver les flux RSS dans WordPress
- Modifier la longueur des extraits dans WordPress
- Ajouter un utilisateur administrateur dans WordPress
- Désactiver le sélecteur de langue sur la page de connexion
- Afficher le nombre total d'utilisateurs enregistrés dans WordPress
- Exclure des catégories spécifiques du flux RSS
- Désactiver les liens URL dans les commentaires WordPress
- Ajouter des classes CSS impaires et paires aux articles WordPress
- Ajouter des types de fichiers supplémentaires à téléverser dans WordPress
- Modifier le nom de l'expéditeur dans les e-mails WordPress
- Ajouter une boîte d'informations sur l'auteur dans les articles WordPress
- Désactiver XML-RPC dans WordPress
- Lier automatiquement les images mises en avant aux articles
- Désactiver l'éditeur de blocs dans WordPress
- Désactiver les widgets de blocs dans WordPress
- Afficher la date de dernière mise à jour dans WordPress
- Utiliser des noms de fichiers en minuscules pour les téléversements
- Désactiver la barre d'administration WordPress sur le frontend
- Modifier le texte « Bonjour » dans la zone d'administration
- Désactiver l'édition de code dans l'éditeur de blocs
- Désactiver l'éditeur de fichiers de plugins / thèmes
- Désactiver les e-mails de notification des nouveaux utilisateurs
- Désactiver les notifications par e-mail des mises à jour automatiques
- Ajouter un lien pour dupliquer facilement un article
- Supprimer le panneau de bienvenue du tableau de bord d'administration WordPress
- Ajouter une colonne d'image mise en avant pour les articles dans l'administration WordPress
- Bloquer la zone d'administration WordPress pour tous sauf les administrateurs
Comment ajouter ces snippets de code à votre site Web
Avant de commencer, examinons comment ajouter les extraits de code de cet article à votre fichier functions.php WordPress.
1. Ajouter du code personnalisé au fichier functions.php à l'aide de WPCode (recommandé)
Tout d'abord, vous devez installer et activer le plugin WPCode. Pour plus de détails, consultez notre guide étape par étape sur comment installer un plugin WordPress.
Après l'activation, allez à la page Extraits de code » + Ajouter un extrait. Vous verrez la bibliothèque de codes de WPCode avec de nombreux extraits de code personnalisés utiles déjà ajoutés.

Si votre extrait de code fait la même chose que les extraits de la bibliothèque, vous pouvez essayer celui qui est déjà ajouté.
Alternativement, cliquez sur le lien « extrait vierge » pour continuer à ajouter votre extrait de code personnalisé.
Sur l'écran suivant, donnez un titre à votre code personnalisé. Cela peut être n'importe quoi qui vous aide à identifier ce que fait cet extrait de code.

Ensuite, vous devez choisir le « Type de code ». Si vous ajoutez un code qui fonctionne dans le fichier functions.php, vous devez sélectionner « Extrait PHP ».
En dessous, vous devez copier et coller votre code personnalisé dans la boîte « Aperçu du code ».
Enfin, vous devez définir votre extrait comme « Actif » et cliquer sur le bouton « Enregistrer l'extrait ».

Votre extrait enregistré s'exécutera maintenant comme s'il avait été ajouté au fichier functions.php.
Vous pouvez répéter le processus pour ajouter plus d'extraits si nécessaire. Vous pouvez également désactiver un extrait sans le supprimer.
2. Ajouter du code personnalisé directement au fichier Functions
La méthode WPCode est toujours meilleure que d'ajouter du code au fichier functions du thème.
Cependant, certains utilisateurs peuvent écrire du code pour le thème WordPress personnalisé d'un client ou préférer simplement ajouter du code au fichier functions.php.
Dans ce cas, voici comment vous pouvez ajouter du code au fichier functions.php de votre thème WordPress.
Tout d'abord, connectez-vous à votre site WordPress en utilisant un client FTP. Une fois connecté, naviguez vers le dossier /wp-content/themes/votre-thème-wordpress/.

Vous y trouverez le fichier functions.php. Faites simplement un clic droit et sélectionnez l'option d'édition ou téléchargez le fichier sur votre ordinateur pour le modifier.
Vous pouvez le modifier en utilisant n'importe quel éditeur de texte brut comme le Bloc-notes ou TextEdit.
Ensuite, faites défiler jusqu'en bas du fichier functions.php et collez votre extrait de code. Vous pouvez enregistrer vos modifications et télécharger le fichier functions.php mis à jour dans votre dossier de thème.
Vous pouvez maintenant visiter votre site WordPress pour voir votre code personnalisé en action.
Maintenant, examinons 46 astuces utiles pour le fichier functions de WordPress.
1. Supprimer le numéro de version de WordPress
Vous devriez toujours utiliser la dernière version de WordPress. Cependant, vous pourriez vouloir supprimer le numéro de version de WordPress de votre site.
Ajoutez simplement cet extrait de code à votre fichier functions ou en tant que nouvel extrait WPCode :
function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');
Pour des instructions détaillées, consultez notre guide sur la bonne façon de supprimer le numéro de version de WordPress.
2. Ajouter un logo personnalisé au tableau de bord
Vous souhaitez personnaliser l'espace d'administration de votre WordPress ? La première étape consiste à ajouter un logo personnalisé au tableau de bord.
Tout d'abord, vous devrez télécharger votre logo personnalisé dans le dossier des images de votre thème sous le nom custom-logo.png. Votre logo personnalisé doit avoir un ratio de 1:1 (une image carrée) en 16x16 pixels.
Après cela, vous pouvez ajouter ce code au fichier functions de votre thème ou en tant que nouveau snippet WPCode :
function wpb_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;
background-position: 0 0;
color:rgba(0, 0, 0, 0);
}
#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
background-position: 0 0;
}
</style>
';
}
//hook into the administrative header output
add_action('wp_before_admin_bar_render', 'wpb_custom_logo');
Pour plus de détails, consultez notre guide sur comment ajouter un logo personnalisé au tableau de bord dans WordPress.
3. Modifier le pied de page dans le panneau d'administration de WordPress
Le pied de page de l'espace d'administration de WordPress affiche le message « Merci d'avoir créé avec WordPress ». Vous pouvez le modifier comme vous le souhaitez en ajoutant ce code :
function remove_footer_admin () {
echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';
}
add_filter('admin_footer_text', 'remove_footer_admin');
N'hésitez pas à modifier le texte et les liens que vous souhaitez ajouter. Voici à quoi cela ressemble sur notre site de test.

4. Ajouter des widgets personnalisés au tableau de bord dans WordPress
Vous avez probablement vu les widgets que de nombreux plugins et thèmes ajoutent au tableau de bord de WordPress. Vous pouvez en ajouter un vous-même en collant le code suivant :
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}
function custom_dashboard_help() {
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';
}
Voici à quoi cela ressemblerait :

Pour plus de détails, consultez notre tutoriel sur comment ajouter des widgets personnalisés au tableau de bord dans WordPress.
5. Changer le Gravatar par défaut dans WordPress
Avez-vous vu l'avatar par défaut de l'homme mystère sur les blogs ? Vous pouvez facilement le remplacer par votre propre avatar personnalisé et marqué.
Téléchargez simplement l'image que vous souhaitez utiliser comme avatar par défaut et ajoutez ce code à votre fichier functions ou au plugin WPCode :
function wpb_custom_default_gravatar( $avatar_defaults ) {
$myavatar = 'https://example.com/wp-content/uploads/2022/10/dummygravatar.png';
$avatar_defaults[$myavatar] = 'Default Gravatar';
return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'wpb_custom_default_gravatar' );
Vous pouvez maintenant aller à la page Paramètres » Discussion et sélectionner votre avatar par défaut.

Pour des instructions détaillées, consultez notre guide sur la modification du Gravatar par défaut dans WordPress.
6. Date de copyright dynamique dans le pied de page de WordPress
Vous pouvez simplement ajouter une date de copyright en modifiant le modèle de pied de page de votre thème. Cependant, il n'indiquera pas quand votre site a démarré et il ne changera pas automatiquement l'année suivante.
Ce code peut ajouter une date de copyright dynamique dans le pied de page de WordPress :
function wpb_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}
Après avoir ajouté cette fonction, vous devrez ouvrir votre fichier footer.php et ajouter le code suivant là où vous souhaitez afficher la date de copyright dynamique :
<?php echo wpb_copyright(); ?>
Cette fonction recherche la date de votre premier article et la date de votre dernier article. Elle renvoie ensuite les années partout où vous appelez la fonction.
Astuce : Si vous utilisez le plugin WPCode, vous pouvez combiner les deux extraits de code. Après cela, choisissez l'emplacement 'Pied de page de tout le site' dans la section 'Insertion' des paramètres de l'extrait. Cela affichera automatiquement la date de copyright dans le pied de page sans modifier le fichier footer.php de votre thème.

Pour plus de détails, consultez notre guide sur la façon d'ajouter des dates de copyright dynamiques dans WordPress.
7. Changer aléatoirement la couleur de fond dans WordPress
Souhaitez-vous changer aléatoirement la couleur de fond de votre blog WordPress à chaque visite et rechargement de page ? Voici comment faire facilement.
Tout d'abord, ajoutez ce code au fichier functions de votre thème ou au plugin WPCode :
function wpb_bg() {
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
echo $color;
}
Ensuite, vous devrez modifier le fichier header.php de votre thème. Trouvez la balise <body> et remplacez-la par cette ligne :
<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">
Vous pouvez maintenant enregistrer vos modifications et visiter votre site Web pour voir ce code en action.

Pour plus de détails et d'autres méthodes, consultez notre tutoriel sur la façon de changer aléatoirement la couleur de fond dans WordPress.
8. Mettre à jour les URL de WordPress
Si votre page de connexion WordPress continue de se rafraîchir ou si vous ne parvenez pas à accéder à la zone d'administration, vous devez alors mettre à jour les URL de WordPress.
Une façon de faire cela est d'utiliser le fichier wp-config.php. Cependant, si vous faites cela, vous ne pourrez pas définir la bonne adresse sur la page des réglages. Les champs URL WordPress et URL du site seront verrouillés et non modifiables.
Au lieu de cela, ajoutez simplement ce code à votre fichier functions pour résoudre ce problème :
update_option( 'siteurl', 'https://example.com' );
update_option( 'home', 'https://example.com' );
N'oubliez pas de remplacer example.com par votre nom de domaine.
Une fois connecté, vous pouvez aller à la page Réglages dans la zone d'administration de WordPress et définir les URL.
Après cela, vous devriez supprimer le code que vous avez ajouté au fichier functions ou à WPCode. Sinon, il continuera à mettre à jour ces URL chaque fois que votre site sera consulté.
9. Ajouter des tailles d'image supplémentaires dans WordPress
WordPress génère automatiquement plusieurs tailles d'image lorsque vous téléchargez une image. Vous pouvez également créer des tailles d'image supplémentaires à utiliser dans votre thème.
Ajoutez simplement ce code au fichier functions de votre thème ou en tant qu'extrait WPCode :
add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode
Ce code crée trois nouvelles tailles d'image de différentes dimensions. N'hésitez pas à modifier le code pour répondre à vos besoins.
Vous pouvez ensuite afficher une taille d'image n'importe où dans votre thème en utilisant ce code :
<?php the_post_thumbnail( 'homepage-thumb' ); ?>
Pour des instructions détaillées, consultez notre guide sur la création de tailles d'image supplémentaires dans WordPress.
10. Ajouter de nouveaux menus de navigation à votre thème
WordPress permet aux développeurs de thèmes de définir des menus de navigation, puis de les afficher.
Vous pouvez ajouter ce code au fichier functions de votre thème ou en tant que nouvel extrait WPCode pour définir un nouvel emplacement de menu dans votre thème :
function wpb_custom_new_menu() {
register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );
Vous pouvez maintenant aller dans Apparence » Menus dans votre tableau de bord WordPress et voir « Mon Menu Personnalisé » comme option d'emplacement de thème.

Remarque : Ce code fonctionnera également avec les thèmes de blocs avec la fonctionnalité d'édition complète de site. L'ajouter activera l'écran Menus sous Apparence.
Maintenant, vous devez ajouter ce code à votre thème là où vous souhaitez afficher le menu de navigation :
<?php
wp_nav_menu( array(
'theme_location' => 'my-custom-menu',
'container_class' => 'custom-menu-class' ) );
?>
Pour des instructions détaillées, consultez notre guide sur la façon d'ajouter des menus de navigation personnalisés dans les thèmes WordPress.
11. Ajouter des champs de profil d'auteur
Voulez-vous ajouter des champs supplémentaires aux profils de vos auteurs dans WordPress ? Vous pouvez facilement le faire en ajoutant ce code à votre fichier functions ou en tant que nouvel extrait WPCode :
function wpb_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';
return $contactmethods;
}
add_filter('user_contactmethods','wpb_new_contactmethods',10,1);
Ce code ajoutera des champs Twitter et Facebook aux profils des utilisateurs dans WordPress.

Vous pouvez maintenant afficher ces champs dans votre modèle d'auteur comme ceci :
<?php echo get_the_author_meta('twitter') ?>
Vous pourriez également consulter notre guide sur l'ajout de champs de profil utilisateur supplémentaires dans l'enregistrement WordPress.
12. Ajout de zones prêtes pour les widgets ou de barres latérales dans les thèmes WordPress
C'est l'un des extraits de code les plus utilisés, et de nombreux développeurs savent déjà comment ajouter des zones prêtes pour les widgets ou des barres latérales aux thèmes WordPress. Mais cela mérite d'être sur cette liste pour ceux qui ne le savent pas.
Vous pouvez coller le code suivant dans votre fichier functions.php ou en tant que nouvel extrait WPCode :
// Register Sidebars
function custom_sidebars() {
$args = array(
'id' => 'custom_sidebar',
'name' => __( 'Custom Widget Area', 'text_domain' ),
'description' => __( 'A custom widget area', 'text_domain' ),
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
);
register_sidebar( $args );
}
add_action( 'widgets_init', 'custom_sidebars' );
Note : Ce code fonctionnera également avec les thèmes basés sur des blocs avec la fonctionnalité d'édition complète du site. Son ajout activera l'écran Widgets sous Apparence.
Vous pouvez maintenant visiter la page Apparence » Widgets et voir votre nouvelle zone de widget personnalisée.

Pour afficher cette barre latérale ou cette zone prête pour les widgets sur votre site Web, vous devrez ajouter le code suivant dans le modèle où vous souhaitez l'afficher :
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>
Pour plus de détails, consultez notre guide sur la façon de ajouter des zones et des barres latérales dynamiques prêtes pour les widgets dans WordPress.
13. Manipuler le pied de page du flux RSS
Avez-vous vu des blogs qui ajoutent leurs publicités dans leurs flux RSS sous chaque article ? Vous pouvez y parvenir facilement avec une simple fonction. Collez simplement le code suivant :
function wpbeginner_postrss($content) {
if(is_feed()){
$content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner';
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');
Pour plus d'informations, consultez notre guide sur la façon d'ajouter du contenu et manipuler complètement vos flux RSS.
14. Ajouter des images mises en avant aux flux RSS
La miniature de l'article ou les images mises en avant ne sont généralement affichées que dans la conception de votre site. Vous pouvez facilement étendre cette fonctionnalité à votre flux RSS avec le code suivant :
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');
Pour plus de détails, consultez notre guide sur la façon d'ajouter des miniatures d'articles à votre flux RSS WordPress.
15. Masquer les erreurs de connexion dans WordPress
Les pirates peuvent utiliser les erreurs de connexion pour deviner s'ils ont entré le mauvais nom d'utilisateur ou mot de passe. En masquant les erreurs de connexion dans WordPress, vous pouvez rendre votre zone de connexion et votre site WordPress plus sécurisé.
Ajoutez simplement le code suivant au fichier functions de votre thème ou en tant que nouvel extrait WPCode :
function no_wordpress_errors(){
return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );
Désormais, les utilisateurs verront un message générique lorsqu'ils entreront un nom d'utilisateur ou un mot de passe incorrect.

Pour plus d'informations, consultez notre tutoriel sur la façon de désactiver les indices de connexion dans les messages d'erreur de connexion WordPress.
16. Désactiver la connexion par e-mail dans WordPress
WordPress permet aux utilisateurs de se connecter avec leur nom d'utilisateur ou leur adresse e-mail. Vous pouvez facilement désactiver la connexion par e-mail dans WordPress en ajoutant ce code à votre fichier functions ou en tant que nouvel extrait WPCode :
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
Pour plus d'informations, consultez notre guide sur la façon de désactiver la fonctionnalité de connexion par e-mail dans WordPress.
17. Désactiver la fonctionnalité de recherche dans WordPress
Si vous souhaitez désactiver la fonction de recherche de votre site WordPress, ajoutez simplement ce code au fichier de fonctions de votre site ou dans un nouveau snippet WPCode :
function wpb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}}
Ce code désactive simplement la requête de recherche en la modifiant et en renvoyant une erreur 404 au lieu des résultats de recherche.
Pour plus d'informations, consultez notre tutoriel sur la désactivation de la fonction de recherche WordPress.
Astuce de pro : Au lieu d'abandonner la recherche WordPress, nous vous recommandons d'essayer SearchWP. C'est le meilleur plugin de recherche WordPress du marché qui vous permet d'ajouter une fonction de recherche puissante et personnalisable à votre site web.
18. Retarder l'apparition des articles dans le flux RSS
Parfois, vous pouvez publier un article contenant une erreur grammaticale ou une faute d'orthographe.
L'erreur est publiée et distribuée à vos abonnés au flux RSS. Si vous avez des abonnements par e-mail sur votre blog WordPress, ces abonnés recevront également une notification.
Ajoutez simplement ce code au fichier de fonctions de votre thème ou en tant que nouveau snippet WPCode pour retarder l'apparition des articles dans votre flux RSS :
function publish_later_on_feed($where) {
global $wpdb;
if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');
// value for wait; + device
$wait = '10'; // integer
// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');
Dans ce code, nous avons utilisé 10 minutes comme temps d'attente ou de délai ($wait). N'hésitez pas à le modifier pour le nombre de minutes que vous souhaitez.
Pour une méthode par plugin et plus d'informations, consultez notre guide détaillé sur la façon de retarder l'apparition des articles dans le flux RSS WordPress.
19. Modifier le texte "Lire la suite" pour les extraits dans WordPress
Voulez-vous modifier le texte qui apparaît après l'extrait dans vos publications ? Ajoutez simplement ce code au fichier functions de votre thème ou en tant que nouveau snippet WPCode :
function modify_read_more_link() {
return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>';
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );
20. Désactiver les flux RSS dans WordPress
Tous les sites web n'ont pas besoin de flux RSS. Si vous souhaitez désactiver les flux RSS sur votre site WordPress, ajoutez ce code au fichier functions de votre thème ou en tant que nouveau snippet WPCode :
function new_excerpt_more($more) {
global $post;
return '<a class="moretag"
href="'. get_permalink($post->ID) . '">Your Read More Link Text</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');
Pour plus d'informations sur une méthode de plugin, consultez notre guide sur la façon de désactiver les flux RSS dans WordPress.
21. Modifier la longueur des extraits dans WordPress
WordPress limite la longueur des extraits à 55 mots. Vous pouvez ajouter ce code au fichier functions de votre thème ou en tant que nouveau snippet WPCode si vous avez besoin de le modifier :
function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');
Changez simplement 100 par le nombre de mots que vous souhaitez afficher dans les extraits.
Pour des méthodes alternatives, vous pouvez consulter notre guide sur comment personnaliser les extraits WordPress (sans code).
22. Ajouter un utilisateur administrateur dans WordPress
Si vous avez oublié votre mot de passe et votre e-mail WordPress, vous pouvez ajouter un utilisateur administrateur en ajoutant ce code au fichier functions de votre thème à l'aide d'un client FTP :
function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = 'email@domain.com';
if ( !username_exists( $user ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');
N'oubliez pas de remplir les champs nom d'utilisateur, mot de passe et e-mail.
Important : Une fois connecté à votre site WordPress, n'oubliez pas de supprimer le code du fichier functions.
Pour en savoir plus sur ce sujet, consultez notre tutoriel sur comment ajouter un utilisateur administrateur dans WordPress via FTP.
23. Désactiver le sélecteur de langue sur la page de connexion
Si vous gérez un site web multilingue, WordPress affiche un sélecteur de langue sur la page de connexion. Vous pouvez facilement le désactiver en ajoutant le code suivant à votre fichier functions.php ou en tant que nouvel extrait WPCode :
add_filter( 'login_display_language_dropdown', '__return_false' );
24. Afficher le nombre total d'utilisateurs enregistrés dans WordPress
Vous souhaitez afficher le nombre total d'utilisateurs enregistrés sur votre site WordPress ? Ajoutez simplement ce code au fichier functions de votre thème ou en tant que nouvel extrait WPCode :
function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');
Ce code crée un shortcode qui vous permet d'afficher le nombre total d'utilisateurs enregistrés sur votre site.
Maintenant, il vous suffit d'ajouter le shortcode [user_count] à votre article ou à votre page où vous souhaitez afficher le nombre total d'utilisateurs.
Pour plus d'informations et une méthode de plugin, consultez notre tutoriel sur la façon d'afficher le nombre total d'utilisateurs enregistrés dans WordPress.
25. Exclure des catégories spécifiques du flux RSS
Vous souhaitez exclure des catégories spécifiques de votre flux RSS WordPress ? Vous pouvez ajouter ce code au fichier functions de votre thème ou en tant que nouvel extrait WPCode :
function exclude_category($query) {
if ( $query->is_feed ) {
$query->set('cat', '-5, -2, -3');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');
26. Désactiver les liens URL dans les commentaires WordPress
Par défaut, WordPress convertit une URL en un lien cliquable dans les commentaires.
Vous pouvez arrêter cela en ajoutant le code suivant au fichier functions de votre thème ou en tant que nouvel extrait WPCode :
remove_filter( 'comment_text', 'make_clickable', 9 );
Pour plus de détails, consultez notre article sur la façon de désactiver l'autolien des URL dans les commentaires WordPress.
27. Ajouter des classes CSS impaires et paires aux articles WordPress
Vous avez peut-être vu des thèmes WordPress utiliser une classe impaire ou paire pour les commentaires WordPress. Cela aide les utilisateurs à visualiser où un commentaire se termine et le suivant commence.
Vous pouvez utiliser la même technique pour vos articles WordPress. Cela est esthétiquement agréable et aide les utilisateurs à parcourir rapidement les pages avec beaucoup de contenu.
Ajoutez simplement ce code au fichier functions de votre thème :
function oddeven_post_class ( $classes ) {
global $current_class;
$classes[] = $current_class;
$current_class = ($current_class == 'odd') ? 'even' : 'odd';
return $classes;
}
add_filter ( 'post_class' , 'oddeven_post_class' );
global $current_class;
$current_class = 'odd';
Ce code ajoute simplement une classe impaire ou paire aux articles WordPress. Vous pouvez maintenant ajouter du CSS personnalisé pour les styliser différemment.
Voici un exemple de code pour vous aider à démarrer :
.even {
background:#f0f8ff;
}
.odd {
background:#f4f4fb;
}
Le résultat final ressemblera à ceci :

Besoin d'instructions plus détaillées ? Consultez notre tutoriel sur comment ajouter des classes impaires/paires à vos articles dans les thèmes WordPress.
28. Ajouter des types de fichiers supplémentaires à téléverser dans WordPress
Par défaut, WordPress vous permet de téléverser un nombre limité des types de fichiers les plus couramment utilisés. Cependant, vous pouvez l'étendre pour autoriser d'autres types de fichiers.
Ajoutez simplement ce code au fichier functions de votre thème :
function my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
$mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);
Ce code vous permet de téléverser des fichiers SVG et PSD sur WordPress.
Vous devrez trouver les types MIME pour les types de fichiers que vous souhaitez autoriser, puis les utiliser dans le code.
Pour en savoir plus sur ce sujet, consultez notre tutoriel sur la façon d'ajouter des types de fichiers supplémentaires à téléverser dans WordPress.
29. Changer le nom de l'expéditeur dans les e-mails WordPress
WordPress utilise par défaut une adresse e-mail inexistante (wordpress@yourdomain.com) pour envoyer les e-mails sortants.
Cette adresse e-mail pourrait être signalée comme spam par les fournisseurs de services de messagerie.
L'utilisation du plugin WP Mail SMTP est la bonne façon de résoudre ce problème.

Il corrige les problèmes de délivrabilité des e-mails et vous permet de choisir une adresse e-mail réelle pour envoyer vos e-mails WordPress.
Pour en savoir plus, consultez notre guide sur comment corriger le problème d'envoi d'e-mails par WordPress.
D'autre part, si vous souhaitez rapidement changer cela pour une adresse e-mail réelle, vous pouvez ajouter le code suivant dans votre fichier functions ou en tant que nouveau snippet WPCode :
// Function to change email address
function wpb_sender_email( $original_email_address ) {
return 'tim.smith@example.com';
}
// Function to change sender name
function wpb_sender_name( $original_email_from ) {
return 'Tim Smith';
}
// Hooking up our functions to WordPress filters
add_filter( 'wp_mail_from', 'wpb_sender_email' );
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );
N'oubliez pas de remplacer l'adresse e-mail et le nom par vos propres informations.
Le problème avec cette méthode est que WordPress utilise toujours la fonction mail() pour envoyer des e-mails, et de tels e-mails risquent fort de finir dans le spam.
Pour de meilleures alternatives, consultez notre tutoriel sur comment changer le nom de l'expéditeur dans les e-mails sortants de WordPress.
30. Ajouter une boîte d'informations sur l'auteur dans les articles WordPress
Si vous gérez un site multi-auteurs et que vous souhaitez afficher des biographies d'auteurs à la fin de vos articles, vous pouvez essayer cette méthode.
Commencez par ajouter ce code à votre fichier functions ou en tant que nouvel extrait WPCode :
function wpb_author_info_box( $content ) {
global $post;
// Detect if it is a single post with a post author
if ( is_single() && isset( $post->post_author ) ) {
// Get author's display name
$display_name = get_the_author_meta( 'display_name', $post->post_author );
// If display name is not available then use nickname as display name
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );
// Get author's biographical information or description
$user_description = get_the_author_meta( 'user_description', $post->post_author );
// Get author's website URL
$user_website = get_the_author_meta('url', $post->post_author);
// Get link to the author archive page
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
// Get User Gravatar
$user_gravatar = get_avatar( get_the_author_meta( 'ID' , $post->post_author) , 90 );
if ( ! empty( $display_name ) )
$author_details = '<p class="author_name">About ' . $display_name . '</p>';
if ( ! empty( $user_description ) )
// Author avatar and bio will be displayed if author has filled in description.
$author_details .= '<p class="author_details">' . $user_gravatar . nl2br( $user_description ). '</p>';
$author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>';
// Check if author has a website in their profile
if ( ! empty( $user_website ) ) {
// Display author website link
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow noopener">Website</a></p>';
} else {
// if there is no author website then just close the paragraph
$author_details .= '</p>';
}
// Pass all this info to post content
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}
// Add our function to the post content filter
add_action( 'the_content', 'wpb_author_info_box' );
// Allow HTML in author bio section
remove_filter('pre_user_description', 'wp_filter_kses');
Ensuite, vous devrez ajouter du CSS personnalisé pour améliorer son apparence.
Vous pouvez utiliser ce CSS d'exemple comme point de départ :
.author_bio_section{
background: none repeat scroll 0 0 #F5F5F5;
padding: 15px;
border: 1px solid #ccc;
}
.author_name{
font-size:16px;
font-weight: bold;
}
.author_details img {
border: 1px solid #D8D8D8;
border-radius: 50%;
float: left;
margin: 0 10px 10px 0;
}
Voici à quoi ressemblera votre boîte d'auteur :

Pour une méthode par plugin et des instructions plus détaillées, consultez notre article sur comment ajouter une boîte d'informations d'auteur dans les articles WordPress.
31. Désactiver XML-RPC dans WordPress
XML-RPC est une méthode qui permet aux applications tierces de communiquer à distance avec votre site WordPress. Cela peut poser des problèmes de sécurité et être exploité par des pirates informatiques.
Pour désactiver XML-RPC dans WordPress, ajoutez le code suivant à votre fichier functions ou en tant que nouvel extrait WPCode :
add_filter('xmlrpc_enabled', '__return_false');
Vous pourriez vouloir lire notre article sur comment désactiver XML-RPC dans WordPress pour plus d'informations.
32. Lier automatiquement les images à la une aux articles
Si votre thème WordPress ne lie pas automatiquement les images à la une aux articles complets, vous pouvez essayer cette méthode.
Ajoutez simplement ce code au fichier functions de votre thème ou en tant que nouvel extrait WPCode :
function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) {
If (! is_singular()) {
$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;
} else {
return $html;
}
}
add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 );
Vous voudrez peut-être lire notre article sur comment lier automatiquement les images mises en avant aux articles dans WordPress.
33. Désactiver l'éditeur de blocs dans WordPress
WordPress utilise un éditeur moderne et intuitif pour écrire du contenu et modifier votre site Web. Cet éditeur utilise des blocs pour les éléments de contenu et de mise en page couramment utilisés, c'est pourquoi il est appelé l'éditeur de blocs.
Cependant, vous pourriez avoir besoin d'utiliser l'ancien éditeur classique dans certains cas d'utilisation.
La manière la plus simple de désactiver l'éditeur de blocs est d'utiliser le plugin Classic Editor. Cependant, si vous ne souhaitez pas utiliser un plugin séparé, ajoutez simplement le code suivant à votre fichier functions ou en tant que nouvel extrait WPCode :
add_filter('gutenberg_can_edit_post', '__return_false', 5);
add_filter('use_block_editor_for_post', '__return_false', 5);
Pour plus de détails, consultez notre tutoriel sur la façon de désactiver l'éditeur de blocs et utiliser l'éditeur classique.
34. Désactiver les widgets de blocs dans WordPress
WordPress est passé des widgets classiques aux widgets de blocs dans WordPress 5.8. Les nouveaux widgets de blocs sont plus faciles à utiliser et vous offrent plus de contrôle sur la conception que les widgets classiques.
Cependant, certains utilisateurs peuvent toujours vouloir utiliser les widgets classiques. Dans ce cas, vous pouvez utiliser le code suivant dans le fichier functions de votre thème ou en tant que nouvel extrait WPCode :
add_filter( 'use_widgets_block_editor', '__return_false' );
Pour plus de détails, consultez notre article sur la façon de désactiver les blocs de widgets (restaurer les widgets classiques).
35. Afficher la date de dernière mise à jour dans WordPress
Lorsque les visiteurs consultent un article ou une page sur votre blog WordPress, votre thème WordPress affiche la date de publication de l'article. C'est parfait pour la plupart des blogs et sites Web statiques.
Cependant, WordPress est également utilisé par des sites Web où de vieux articles sont régulièrement mis à jour. Dans ces publications, afficher la date et l'heure de la dernière modification de l'article est essentiel.

Vous pouvez afficher la date de dernière mise à jour en utilisant le code suivant dans le fichier functions de votre thème ou en tant que nouvel extrait WPCode :
$u_time = get_the_time( 'U' );
$u_modified_time = get_the_modified_time( 'U' );
// Only display modified date if 24hrs have passed since the post was published.
if ( $u_modified_time >= $u_time + 86400 ) {
$updated_date = get_the_modified_time( 'F jS, Y' );
$updated_time = get_the_modified_time( 'h:i a' );
$updated = '<p class="last-updated">';
$updated .= sprintf(
// Translators: Placeholders get replaced with the date and time when the post was modified.
esc_html__( 'Last updated on %1$s at %2$s' ),
$updated_date,
$updated_time
);
$updated .= '</p>';
echo wp_kses_post( $updated );
}
Pour des méthodes alternatives et plus de détails, consultez notre guide sur comment afficher la date de dernière mise à jour dans WordPress.
36. Utilisez des noms de fichiers en minuscules pour les téléversements
Si vous gérez un site web multi-auteurs, les auteurs peuvent téléverser des images avec des noms de fichiers en majuscules et minuscules.
L'ajout du code suivant garantit que tous les noms de fichiers sont en minuscules :
add_filter( 'sanitize_file_name', 'mb_strtolower' );
Note : Le code ne modifiera pas les noms de fichiers pour les téléversements existants. Pour des méthodes alternatives, consultez notre tutoriel sur comment renommer les images et les fichiers multimédias dans WordPress.
37. Désactiver la barre d'administration WordPress sur le front-end
Par défaut, WordPress affiche la barre d'administration en haut lorsque qu'un utilisateur connecté consulte votre site web.
Vous pouvez désactiver la barre d'administration pour tous les utilisateurs, à l'exception des administrateurs du site. Ajoutez simplement le code suivant à votre fichier functions ou en tant que nouvel extrait WPCode :
/* Disable WordPress Admin Bar for all users */
add_filter( 'show_admin_bar', '__return_false' );
Pour plus de détails, consultez notre guide sur la façon de désactiver la barre d'administration WordPress pour tous les utilisateurs sauf les administrateurs.
38. Changer le texte « Howdy Admin » dans la zone d'administration
WordPress affiche un message de bienvenue « Howdy Admin » dans le tableau de bord WordPress. « Admin » est remplacé par le nom de l'utilisateur connecté.

Vous pouvez changer le message par défaut par le vôtre en ajoutant le code suivant dans votre fichier functions ou en tant que nouvel extrait WPCode :
function wpcode_snippet_replace_howdy( $wp_admin_bar ) {
// Edit the line below to set what you want the admin bar to display intead of "Howdy,".
$new_howdy = 'Welcome,';
$my_account = $wp_admin_bar->get_node( 'my-account' );
$wp_admin_bar->add_node(
array(
'id' => 'my-account',
'title' => str_replace( 'Howdy,', $new_howdy, $my_account->title ),
)
);
}
add_filter( 'admin_bar_menu', 'wpcode_snippet_replace_howdy', 25 );
Pour plus de détails, consultez notre article sur la modification du message « Howdy Admin » dans WordPress.
39. Désactiver l'édition de code dans l'éditeur de blocs
L'éditeur de blocs vous permet de passer à l'éditeur de code. Ceci est utile si vous avez besoin d'ajouter du code HTML manuellement.
Cependant, vous voudrez peut-être limiter cette fonctionnalité aux administrateurs du site.
Vous pouvez ajouter le code suivant à votre fichier functions ou en tant qu'extrait WPCode pour y parvenir :
add_filter( 'block_editor_settings_all', function ( $settings ) {
$settings['codeEditingEnabled'] = current_user_can( 'manage_options' );
return $settings;
} );
40. Désactiver l'éditeur de fichiers de plugins / thèmes
WordPress est livré avec un éditeur intégré où vous pouvez modifier les fichiers de plugins. Vous pouvez le voir en allant sur la page Plugins » Éditeur de fichiers de plugins.

De même, WordPress inclut également un éditeur de fichiers pour les thèmes classiques sous Apparence » Éditeur de fichiers du thème.
Remarque : Si vous utilisez un thème basé sur des blocs, l'éditeur de fichiers du thème n'est pas visible.

Nous ne recommandons pas d'utiliser ces éditeurs pour apporter des modifications à votre thème ou à votre plugin. Une petite erreur dans le code peut rendre votre site web inaccessible à tous les utilisateurs.
Pour désactiver l'éditeur de plugin/thème, ajoutez le code suivant à votre fichier functions ou en tant qu'extrait WPCode :
// Disable the Plugin and Theme Editor
if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
define( 'DISALLOW_FILE_EDIT', true );
}
Pour plus de détails, consultez notre tutoriel sur la façon de désactiver l'éditeur de plugin/thème dans WordPress.
41. Désactiver les e-mails de notification de nouveaux utilisateurs
Par défaut, WordPress envoie une notification par e-mail lorsqu'un nouvel utilisateur rejoint votre site WordPress.
Si vous gérez un site web d'adhésion WordPress ou si vous exigez que les utilisateurs s'inscrivent, vous recevrez une notification chaque fois qu'un utilisateur rejoint votre site.
Pour désactiver ces notifications, vous pouvez ajouter ce qui suit à votre fichier functions ou en tant que nouvel extrait WPCode :
function wpcode_send_new_user_notifications( $user_id, $notify = 'user' ) {
if ( empty( $notify ) || 'admin' === $notify ) {
return;
} elseif ( 'both' === $notify ) {
// Send new users the email but not the admin.
$notify = 'user';
}
wp_send_new_user_notifications( $user_id, $notify );
}
add_action(
'init',
function () {
// Disable default email notifications.
remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' );
// Replace with custom function that only sends to user.
add_action( 'register_new_user', 'wpcode_send_new_user_notifications' );
add_action( 'edit_user_created_user', 'wpcode_send_new_user_notifications', 10, 2 );
}
);
Pour plus de détails, consultez notre tutoriel sur la façon de désactiver les notifications par e-mail des nouveaux utilisateurs dans WordPress.
42. Désactiver les notifications par e-mail de mise à jour automatique
Occasionnellement, WordPress peut installer automatiquement des mises à jour de sécurité et de maintenance ou mettre à jour un plugin présentant une vulnérabilité critique.
Il envoie une notification par e-mail de mise à jour automatique après chaque mise à jour. Si vous gérez plusieurs sites WordPress, vous pouvez recevoir plusieurs e-mails de ce type.
Vous pouvez ajouter ce code à votre fichier functions ou en tant que nouvel extrait WPCode pour désactiver ces notifications par e-mail :
/ Disable auto-update emails.
add_filter( 'auto_core_update_send_email', '__return_false' );
// Disable auto-update emails for plugins.
add_filter( 'auto_plugin_update_send_email', '__return_false' );
// Disable auto-update emails for themes.
add_filter( 'auto_theme_update_send_email', '__return_false' );
Pour en savoir plus, consultez notre article sur la manière de désactiver les e-mails de mise à jour automatique dans WordPress.
43. Ajouter un lien pour dupliquer facilement un article
Avez-vous déjà souhaité une méthode plus simple pour copier rapidement tout le contenu d'un article afin de le modifier sans toucher à l'article publié ?
Le fragment de code suivant ajoutera une option pour dupliquer facilement un article avec tout son contenu :
// Add duplicate button to post/page list of actions.
add_filter( 'post_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
// Let's make sure the function doesn't already exist.
if ( ! function_exists( 'wpcode_snippet_duplicate_post_link' ) ) {
/**
* @param array $actions The actions added as links to the admin.
* @param WP_Post $post The post object.
*
* @return array
*/
function wpcode_snippet_duplicate_post_link( $actions, $post ) {
// Don't add action if the current user can't create posts of this post type.
$post_type_object = get_post_type_object( $post->post_type );
if ( null === $post_type_object || ! current_user_can( $post_type_object->cap->create_posts ) ) {
return $actions;
}
$url = wp_nonce_url(
add_query_arg(
array(
'action' => 'wpcode_snippet_duplicate_post',
'post_id' => $post->ID,
),
'admin.php'
),
'wpcode_duplicate_post_' . $post->ID,
'wpcode_duplicate_nonce'
);
$actions['wpcode_duplicate'] = '<a href="' . $url . '" title="Duplicate item" rel="permalink">Duplicate</a>';
return $actions;
}
}
/**
* Handle the custom action when clicking the button we added above.
*/
add_action( 'admin_action_wpcode_snippet_duplicate_post', function () {
if ( empty( $_GET['post_id'] ) ) {
wp_die( 'No post id set for the duplicate action.' );
}
$post_id = absint( $_GET['post_id'] );
// Check the nonce specific to the post we are duplicating.
if ( ! isset( $_GET['wpcode_duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['wpcode_duplicate_nonce'], 'wpcode_duplicate_post_' . $post_id ) ) {
// Display a message if the nonce is invalid, may it expired.
wp_die( 'The link you followed has expired, please try again.' );
}
// Load the post we want to duplicate.
$post = get_post( $post_id );
// Create a new post data array from the post loaded.
if ( $post ) {
$current_user = wp_get_current_user();
$new_post = array(
'comment_status' => $post->comment_status,
'menu_order' => $post->menu_order,
'ping_status' => $post->ping_status,
'post_author' => $current_user->ID,
'post_content' => $post->post_content,
'post_excerpt' => $post->post_excerpt,
'post_name' => $post->post_name,
'post_parent' => $post->post_parent,
'post_password' => $post->post_password,
'post_status' => 'draft',
'post_title' => $post->post_title . ' (copy)',// Add "(copy)" to the title.
'post_type' => $post->post_type,
'to_ping' => $post->to_ping,
);
// Create the new post
$duplicate_id = wp_insert_post( $new_post );
// Copy the taxonomy terms.
$taxonomies = get_object_taxonomies( get_post_type( $post ) );
if ( $taxonomies ) {
foreach ( $taxonomies as $taxonomy ) {
$post_terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) );
wp_set_object_terms( $duplicate_id, $post_terms, $taxonomy );
}
}
// Copy all the custom fields.
$post_meta = get_post_meta( $post_id );
if ( $post_meta ) {
foreach ( $post_meta as $meta_key => $meta_values ) {
if ( '_wp_old_slug' === $meta_key ) { // skip old slug.
continue;
}
foreach ( $meta_values as $meta_value ) {
add_post_meta( $duplicate_id, $meta_key, $meta_value );
}
}
}
// Redirect to edit the new post.
wp_safe_redirect(
add_query_arg(
array(
'action' => 'edit',
'post' => $duplicate_id
),
admin_url( 'post.php' )
)
);
exit;
} else {
wp_die( 'Error loading post for duplication, please try again.' );
}
} );
Après avoir ajouté le code, allez à l'écran Articles » Tous les articles et passez votre souris sur le titre d'un article.
Vous remarquerez un nouveau lien « Dupliquer » sous les options.

Cliquer sur le lien créera une copie de l'article avec tout son contenu. Vous pourrez alors travailler sur ce brouillon.
Une fois terminé, vous pourrez copier-coller vos modifications dans l'article publié d'origine et supprimer la copie.
Pour une méthode par plugin, consultez notre article sur la duplication d'un article ou d'une page WordPress.
44. Supprimer le panneau de bienvenue du tableau de bord d'administration WordPress
Le panneau de bienvenue apparaît dans le tableau de bord d'administration de WordPress. Il peut être facilement ignoré ou masqué en cliquant sur le bouton « Options de l'écran ».

Cependant, si vous travaillez à rendre l'expérience du tableau de bord plus propre pour les utilisateurs, vous voudrez peut-être le masquer de façon permanente.
Ajoutez le code suivant pour le désactiver pour tous les utilisateurs de votre site :
add_action(
'admin_init',
function () {
remove_action( 'welcome_panel', 'wp_welcome_panel' );
}
);
45. Ajouter une colonne d'image mise en avant pour les articles dans l'administration WordPress
Par défaut, WordPress n'affiche les images mises en avant que lorsque vous consultez votre site ou lorsque vous modifiez un article ou une page.
Le code suivant ajoutera une nouvelle colonne à l'écran Articles » Tous les articles pour les images mises en avant :
add_filter( 'manage_posts_columns', function ( $columns ) {
// You can change this to any other position by changing 'title' to the name of the column you want to put it after.
$move_after = 'title';
$move_after_key = array_search( $move_after, array_keys( $columns ), true );
$first_columns = array_slice( $columns, 0, $move_after_key + 1 );
$last_columns = array_slice( $columns, $move_after_key + 1 );
return array_merge(
$first_columns,
array(
'featured_image' => __( 'Featured Image' ),
),
$last_columns
);
} );
add_action( 'manage_posts_custom_column', function ( $column ) {
if ( 'featured_image' === $column ) {
the_post_thumbnail( array( 300, 80 ) );
}
} );
Voici à quoi cela ressemblerait après l'ajout du code.

46. Bloquer la zone d'administration de WordPress pour tous sauf les administrateurs
Certains sites Web WordPress peuvent nécessiter que les utilisateurs créent un compte. Par exemple, un site d'adhésion WordPress ou une boutique e-commerce.
La plupart de ces plugins empêcheront ces utilisateurs d'accéder à la zone d'administration. Cependant, si vous n'utilisez pas un tel plugin, vous pouvez ajouter le code suivant pour bloquer tous les utilisateurs, à l'exception des administrateurs, de l'accès à la zone d'administration :
add_action( 'admin_init', function() {
if ( ! current_user_can( 'administrator' ) ) {
wp_redirect( home_url() );
exit;
}
} );
Les utilisateurs ayant d'autres rôles peuvent toujours se connecter à leurs comptes, mais après la connexion, ils seront redirigés vers la page d'accueil.
Nous espérons que cet article vous a aidé à apprendre de nouvelles astuces utiles pour le fichier functions.php dans WordPress. Vous pourriez également consulter notre guide sur l'affichage de code dans WordPress pour partager facilement vos extraits et nos meilleurs choix pour les meilleurs éditeurs de code pour Mac et Windows.
Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

DANISH
such a great and useful tricks..
Marco
merci beaucoup !
Webtechideas
Une si belle liste d'astuces utiles. Cela aidera les développeurs de plugins et de thèmes.
ahmed
Dans le #14, n'est-ce pas un au lieu de ?
Mick O
Merci pour cet article utile. Je l'apprécie vraiment. Pouvez-vous expliquer pourquoi le snippet pour ajouter le code Google Analytics (#1) inclut les déclarations php. Si j'ai déjà un fichier functions.php défini avec , dois-je inclure à nouveau les marqueurs dans le snippet ? J'essaie d'ajouter d'autres personnalisations dans le functions.php et il devient difficile de suivre.
Personnel éditorial
Il inclut l'ouverture de PHP car c'est la balise PHP de fermeture qui vous permet de coller du code Google Analytics HTML brut.
Admin
Luke Gibson
Celui concernant la date de copyright semble un peu excessif quand on pourrait simplement copier-coller © 2006- et cela ferait exactement la même chose, il suffirait de remplacer 2006 par la date de début statique souhaitée. Ou est-ce que je manque quelque chose ?
Personnel éditorial
Oui, vous pouvez absolument faire cela. Mais si vous le publiez dans le cadre d'un thème destiné à être distribué, alors vous ne pouvez pas le faire.
Admin
Zeeshan Arshad
Excellent, j'avais terminé mon thème et mon apprentissage mais il restait beaucoup à faire. Cet article m'a sauvé la journée et bien sûr, j'ai aussi beaucoup appris.
Meilleurs vœux !
DesignSkew
Dans « Ajouter des champs de profil d'auteur », la fonction que vous avez mentionnée pour afficher ne fonctionne pas.
Personnel éditorial
Le curauth ne fonctionnerait que s'il se trouve dans le fichier author.php.
Admin
Mark
Excellent ensemble d'outils. J'ai immédiatement copié la fonction d'auteur invité dès que je l'ai vue et je vais maintenant désactiver un plugin maladroit que j'utilisais. Avez-vous une fonction qui fournira l'ID de l'article sur lequel vous travaillez dans l'éditeur ? J'essaie de remplir automatiquement un formulaire avec des pièces jointes multimédias pour l'article actuel, mais je n'ai réussi à le faire fonctionner que dans une boîte de métadonnées personnalisée, mais pas dans une thickbox. La thickbox renvoie tous les fichiers multimédias de tous les articles alors que je ne veux que les pièces jointes de l'article actuel.
blogueuse maman
Merci pour ces excellents conseils Wordpress ! J'espérais que vous pourriez m'aider avec un conseil supplémentaire ?
Je voudrais empêcher mes tags/catégories de passer à la ligne suivante en limitant le nombre de tags/catégories qui apparaissent dans le pied de page de mes articles de page d'accueil individuels. Est-il possible de le faire avec le « the_excerpt » ? Je voudrais également que l'extrait soit un lien « …lire la suite » et limiter le nombre de caractères qu'il contient. Voici le code auquel il faudrait l'ajouter ;
$tags_list = get_the_tag_list( ”, __( ‘, ‘, ‘mummyblog’ ) ); if ( $tags_list ): ?> <li> <?php printf( __( ‘<span class=”%1$s”>Tagged</span> %2$s’, ‘mummyblog’ ), ‘entry-utility-prep entry-utility-prep-tag-links’, $tags_list ); ?> </li> <?php endif; // End if $tags_list ?>
Merci !
SteveEBoy
Comme tous les autres l'ont dit ci-dessous – tout simplement trop bien, une aide énorme pour un débutant et très utile pour apprendre aussi. Excellent site dans l'ensemble. Merci.
LambrosPower
L'un des meilleurs tutoriels que j'ai lus. De nombreux sujets importants soulignés et bien sûr, je ne connaissais pas la plupart d'entre eux car je viens de commencer la conception personnalisée de WordPress.
Xiaozhuli
Cet article est d'une utilité infinie. Je l'ai mis en favori et j'y réfère souvent lorsque je mets à jour mon thème ou que j'essaie de répondre à une question. Excellent travail !
Mohammad Yeasin
Vous êtes géniaux. Vous savez quoi, wpbegineer est le premier site web pour lequel j'ai un dossier séparé dans mon menu de favoris. Trop bien pour un débutant en WP. Votre nom correspond à votre personnalité. lolz. Un jour, je devrai absolument faire quelque chose de spécial pour vous. Inch'Allah.
Le seul problème que je rencontre concerne les articles similaires avec miniatures. Vos codeurs ne fonctionnent pas. Je ne sais pas quoi faire. Quoi qu'il en soit, continuez ce travail formidable. J'adore le site wpbegineer.
AA
Excellent article ! Vous en savez évidemment beaucoup sur le codage WordPress, j'espère donc que vous pourrez répondre à une question. Comment supprimer l'horodatage de la date et de l'heure d'un flux RSS WordPress ? J'ai cherché partout et je n'ai trouvé aucune information à ce sujet. Je travaille sur un « site » WordPress et je n'ai pas besoin des dates. Je les ai déjà supprimées des articles et des pages.
Merci beaucoup d'avance !
Personnel éditorial
La date n'est PAS facultative pour les flux RSS. C'est un MUST car c'est ainsi que les articles / les articles sont organisés (ordre chronologique inverse). Vous pouvez supprimer l'affichage des dates du modèle, mais vous ne pouvez pas les supprimer du XML.
Admin
Michele Welch
Awesome post! Can’t wait to get started on the custom dashboard gravatar! Really exceptional post.
Phil
Excellent article, je l'ai mis en favori pour référence future. Je viens de trouver wpbeginner par hasard, quelle excellente ressource, merci !
wparena
c'est vraiment bien que vous ayez compilé toutes les choses importantes en un seul endroit
Mark Welburn
Bon travail, déjà mis en favori. Je vois que certains de ces éléments seront utilisés plus d'une fois. Santé, Mark.
Connor Crosby
Juste une note, faites attention lorsque vous copiez et collez la fonction « fin d'extrait ». Elle a affiché un point d'interrogation au lieu de « … » car c'était un caractère. J'ai dû réécrire « … » pour qu'elle s'affiche.
Martin
Probablement le meilleur article sur l'utilisation de functions.php. Merci pour les astuces et pour nous avoir fait gagner du temps.
Huw Rowlands
Wow ! Du matériel vraiment pratique !
Merci pour le partage.
mark.
Je suggérerais d'ajouter un addendum à l'astuce n°3 mentionnant le fait que ce n'est en aucun cas une mesure de sécurité, et que ce n'est certainement pas une alternative à la mise à niveau comme les gens devraient le faire.
Cacher le numéro de version n'est bénéfique qu'à ceux d'entre nous qui aiment garder les déchets inutiles hors de la section HEAD de votre document HTML. En dehors de cela, cela ne sert à rien et ne doit pas être confondu avec la sécurité ; pour illustrer ce point : http://dd32.id.au/2010/07/31/what-version-of-wordpress-is-behind-that-website/
aider
Pourriez-vous me dire si je dois ajouter ces codes pour chaque thème que mon multisite possède ? Existe-t-il un autre moyen pour que ces codes s'appliquent automatiquement aux thèmes nouvellement ajoutés ?
Merci !
Personnel éditorial
Vous devriez ajouter cela au fichier functions.php de votre thème. Donc, s'il s'agit d'un thème disponible sur tous les réseaux, alors une seule fois. S'il y a des thèmes personnalisés utilisés sur chaque site du réseau, alors vous devrez le faire sur chacun...
Admin
Connor Crosby
Très belle liste. Je ne savais pas qu'on pouvait faire autant de choses avec le fichier functions.php !
Andy
Vous assurez !!! Merci pour cet excellent article.
Cordialement,
Andy
Jennifer R
merci pour ces astuces utiles
Marcelo Torres
Wow very good! Thanks for sharing
tarpontech
Le meilleur article sur Wordpress que j'ai jamais trouvé.
ddeja
Merci pour ces astuces. Certaines sont nouvelles pour moi. Je vais donc probablement essayer de les utiliser :)
Merci encore.
Chuck Reynolds
Depuis la sortie finale de WP3, vous devez mettre à jour le n°11 pour
add_theme_support( ‘menus’ );
Personnel éditorial
Fixed thanks
Admin
William
Merci pour cet article instructif. L'enregistrement des widgets de barre latérale et la personnalisation du mode d'extrait seront très utiles. Cordialement
Kate Mag
Merci d'avoir partagé des astuces extrêmement utiles. Je ne connaissais pas quelques astuces auparavant, maintenant je les connais !
Adam
D'accord, la date dynamique de copyright dans le pied de page est l'une des astuces les plus cool pour Wordpress que j'ai rencontrées. Je détestais toujours devoir faire ça chaque année, mais c'est fini. Merci d'avoir partagé celle-là !
Susan
Bonjour, j'essaie de changer le gravatar par défaut. L'option pour choisir mon nouveau gravatar s'affiche, mais au lieu de ma photo pour mon gravatar, il y a un lien d'image cassé. Je sais que le chemin fonctionne car il apparaît quand je le copie dans le navigateur, la photo s'affiche. J'ai aussi essayé .gif, .png, .jpg et ils sont tous cassés. De plus, il est dimensionné selon mon thème à 48px X 48px. Pouvez-vous m'aider ?
Susan
J'ai enfin réussi !! Merci pour cet excellent article au passage.
Dave Z
Il y a de bonnes suggestions ici. L'implémentation pourrait être améliorée pour certaines d'entre elles.
Par exemple, dans le #8 – Copyright dynamique, il serait probablement préférable d'appeler la fonction lors des actions publish_page et publish_post. Ensuite, au lieu d'afficher l'année à l'écran, la valeur (plage d'années) pourrait être stockée dans la table des options (avec update_option()). Dans le thème, vous feriez quelque chose comme : echo get_option( ‘comicpress_copyright’, date( ‘Y’ ) );. Cela donnerait l'année en cours comme date par défaut, ou votre plage prédéfinie. L'avantage ici est que vous éliminez le besoin constant d'interroger la base de données pour les années à chaque chargement de page (car get_option peut être configuré pour se charger automatiquement avec le reste des options). WordPress peut déjà être lourd en requêtes de base de données, pas besoin d'en ajouter une supplémentaire si elle peut être évitée !
Le #18 – Supprimer les erreurs de connexion supprime -toutes- les erreurs de connexion, ce qui pourrait être mauvais car cela omet également les notifications concernant les cookies désactivés, etc. Une approche plus efficace serait que la fonction retourne :
str_replace( array( ‘Invalid username’, ‘Incorrect password’ ), ‘Invalid username or password’, $str );
Cela informe l'utilisateur des erreurs potentielles tout en masquant le champ dans lequel l'erreur s'est réellement produite. Une chose à garder à l'esprit est que si le nom d'utilisateur est correct, WordPress le pré-remplira automatiquement lors des tentatives de connexion ultérieures. Un pirate connaissant le fonctionnement de WordPress saurait alors que le nom d'utilisateur était bien valide. Vous pouvez empêcher cela en commentant la section appropriée dans le fichier wp-login.php (lignes 529-530 dans la version 2.9.2) – ce n'est pas idéal, je sais, mais il n'y a pas de points d'accroche à ce stade du code.
Bons conseils. J'aime la démonstration des miniatures de publication.
Personnel éditorial
Thank you for your tips
Really appreciate it.
Admin
Abdullah
Beau post.. informations très utiles.
Merci wpbeginner de nous rendre plus professionnels dans notre domaine.
Cordialement
Mohummad Abdullah
Zhu
Merci pour ces conseils, j'en ai déjà mis en œuvre quelques-uns (comme le Gravatar personnalisé) et ils fonctionnent très bien !
Waheed Akhtar
Excellente liste. Mis en favoris pour toute référence future
Sahus Pilwal
Merci pour ces conseils extrêmement utiles. J'aimerais trouver plus d'articles de astuces/hacks extrêmement utiles pour WordPress !
Santé, Sahus
patrick andrew adams
J'ai hâte d'essayer quelques-unes de ces astuces, je suis encore assez nouveau sur wp.
graphicbeacon
léger problème avec le N° 14. Le titre du widget commence par une balise h2 et se termine par une h3 - Ne validerait pas bien, je pense.
Todd Santoro
voici un exemple pour changer le logo de connexion :
function the_custom_login_logo() { echo '
h1 a { background-image:url(' . get_bloginfo('template_directory') . '/images/custom-login-logo.gif) !important; } '; }
add_action(‘login_head’, ‘the_custom_login_logo’);
Todd Santoro
Assurez-vous de changer les guillemets simples dans ce code par de vrais guillemets simples car WP les supprime dans les commentaires, donc le code PHP n'est pas exécuté. Mieux encore, retaperez-le et vous n'aurez aucun problème.
Santé !
Kenton Bell
Je suis vraiment impressionné par cette liste, de meilleures options que de bidouiller les fichiers de thème qui sont perdus lors des mises à niveau. Merci.
Raoni
Bonjour,
juste une mise à jour, dans l'élément 4. Ajouter un logo personnalisé pour le tableau de bord, dans WordPress 3, le « custom-logo.gif » est maintenant une image .png.
Super collection !!!!
Andris
C'était un article très utile. Je viens d'implémenter « 4. Ajouter un logo personnalisé pour le tableau de bord » sur mon site Web.
Todd Santoro
Super article. J'ai ça dans ma boîte à outils WP maintenant. Il contient tout ce dont un concepteur de thème aurait besoin en un seul article. Merci WPBeginner !
Jake Goldman
Great tips. Got a kick out of seeing a few of mine in there.
lots of new tips coming soon in my next article!
Personnel éditorial
Will keep my eyes open
Admin
Tony
Enfin ! Je sais comment corriger le nombre incorrect de commentaires ! Merci, WPBeginner !
DaveK
Brillant, je vais mettre pas mal de ceux-ci à profit. Je vais mettre pas mal de ceux-ci à bon usage.
Félicitations pour le site les gars, vous allez de succès en succès, je trouve généralement quelque chose d'utile ici.
Continuez votre bon travail.