WPFormationWordPress, rien que du WordPress
Formation WordPress + IA
IA & Claude Code · Qualiopi · OPCO
Je me forme
snippets wordpress
Tutoriels WordPress

98 Snippets pour Booster votre site WordPress

Par Fabrice Ducarme··Mis à jour le ·41 min de lecture
Résumé de l'article

Près de 100 snippets WordPress prêts à copier-coller pour personnaliser, sécuriser et optimiser votre site. Placez-les dans le functions.php de votre thème enfant, dans un mu-plugin, ou via le plugin Code Snippets. Codes relus en octobre 2026 pour PHP 8.2 et WordPress 7.1 ; testez toujours sur un site de préproduction.

Pas le temps ? Faites-le analyser par l'IA

Vous me lisez souvent ? Dites-le à Google

J'ajoute WPFormation à mes sources

Les snippets, ces bouts de code qui peuvent complètement changer votre site WordPress et ses performances. Ils sont pratiques et utiles aux développeurs et aux personnes qui veulent personnaliser leurs thèmes.

Vous utilisez de nombreux plugins et vous voulez augmenter votre mémoire ? Ou vider automatiquement votre corbeille sur WordPress et vous ne savez pas comment ? Les snippets sont là pour vous aider.

snippets wordpress

⚠️ Avertissement : Ces snippets modifient le comportement de WordPress. Une erreur peut rendre votre site inaccessible. Faites toujours une sauvegarde complète avant toute modification. Nous déclinons toute responsabilité en cas de problème lié à l'utilisation de ces bouts de code.

Les codes PHP ci-dessous destinés à functions.php ou à wp-config.php sont donnés sans les balises <?php et ?>, car ces fichiers sont déjà ouverts en PHP. Collez-les à la fin du functions.php de votre thème enfant (si ce fichier se termine par ?>, collez le code avant cette balise), ou dans wp-config.php juste avant la ligne /* That's all, stop editing! Happy publishing. */ (/* C’est tout, ne touchez pas à ce qui suit ! Bonne publication. */ dans la version française de WordPress). Dans un nouveau fichier de mu-plugin, ajoutez seulement la balise <?php en première ligne. L’extension Code Snippets accepte le code avec ou sans ces balises : elle les retire elle-même. Les codes à placer dans un fichier de modèle du thème (index.php, single.php, sidebar.php…) gardent leurs balises.

Qu’est ce qu’un Snippet, comment et où les utiliser ? 

Avant de modifier un code, faites toujours une sauvegarde de votre site avant de modifier un code. Vous pourriez vous retrouver avec un trop grand nombre d’espaces ou vous heurter à la compatibilité des plugins. Même si vous êtes sûr à 100 % de quelque chose, il vaut toujours mieux prendre des précautions. Parcourez nos tutoriels WordPress pour aller plus loin.

Snippet est un mot venu de la langue anglaise qui signifie littéralement "fragment". Un snippet vous permettra de modifier le comportement de WordPress en le copiant dans le fichier functions.php de votre thème.

Vous pouvez aussi modifier vos fichiers avec un client SFTP (ou FTPS), qui chiffre la connexion ; évitez le FTP simple (File Transfer Protocol), qui transmet votre mot de passe en clair.

Enfin, vous pouvez vous orienter vers les MU plugins ou l'excellent plugin WordPress : Code Snippets.

Nous allons maintenant voir près de 100 snippets WordPress qui vous seront utiles pour plusieurs catégories telles que le tableau de bord, les articles, les utilisateurs, etc. 

Pour débuter, ouvrez Apparence > Éditeur de fichiers des thèmes (Outils > Éditeur de fichiers des thèmes avec un thème blocs), ou modifiez le fichier par SFTP.

1. fichier function

Dans la colonne de droite, vous pouvez voir une liste des fichiers modifiables qui composent votre thème. Cherchez un fichier intitulé fonctions. 

Vous devriez voir ce bloc de texte là

2.</p />
<p>fonctions de thème

 

Administration et configuration WordPress

1) Augmenter la mémoire interne de WordPress

Si vous avez beaucoup de plugins ou beaucoup de trafic, vous devrez peut-être augmenter votre limite de mémoire (ou 256M correspond à 256Mo). Vous devez ajouter ce snippet à votre fichier wp-config :

define('WP_MEMORY_LIMIT', '256M');

Le fichier wp-config.php est généralement situé dans le dossier principal de votre site web avec d’autres dossiers comme /wp-content/.

 

2) Vider automatiquement la corbeille WordPress  

Vous aide à fixer un nombre de jours et réduire la taille de votre base de données (ou 5 correspond à 5 jourss). Copier dans wp-config.php (pas dans functions.php : WordPress a déjà défini cette constante quand il charge le thème).

define('EMPTY_TRASH_DAYS', 5 ); 

 

3) Filtrer les articles WordPress mis en avant

Filtrez les articles que vous voulez montrer. Ce snippet ne montre que le contenu "mis en avant". Il vous suffit d’ajouter ce code au fichier index.php de votre thème :

<?php
$featured = new WP_Query( array( 'posts_per_page' => 5, 'category_name' => 'featured' ) );
if ( $featured->have_posts() ) :
	while ( $featured->have_posts() ) : $featured->the_post(); ?>
		<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
		<?php the_content(); ?>
	<?php endwhile;
endif;
wp_reset_postdata();
?>

⚠️ Note : query_posts() est déconseillé. Utilisez WP_Query ou get_posts() à la place. Documentation WP_Query.

 

4) Détecter le navigateur du visiteur

Si vous souhaitez utiliser une feuille de style différente pour différents navigateurs, vous pouvez utiliser les tags HTML ou vous pouvez utiliser ce code. Copier dans functions.php 

add_filter('body_class','browser_body_class');
function browser_body_class($classes) {
global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone;
if($is_lynx) $classes[] = 'lynx';
elseif($is_gecko) $classes[] = 'gecko';
elseif($is_opera) $classes[] = 'opera';
elseif($is_NS4) $classes[] = 'ns4';
elseif($is_safari) $classes[] = 'safari';
elseif($is_chrome) $classes[] = 'chrome';
elseif($is_IE) $classes[] = 'ie';
else $classes[] = 'unknown';
if($is_iphone) $classes[] = 'iphone';
return $classes;
}

 

5) Détecter les utilisateurs mobiles 

⚠️ Obsolète : La détection mobile côté serveur est obsolète. Utilisez le responsive design (CSS media queries) pour adapter votre site à tous les écrans. Le code de redirection qui figurait ici a été retiré : il redirigeait les visiteurs mobiles en boucle.

Si vous souhaitez offrir quelque chose de spécial à vos utilisateurs mobiles, vous pouvez détecter quand ils se connectent sur votre site.

Pour cela, vous pouvez consulter detectmobilebrowsers.mobi et télécharger le code PHP puis insérez le dans le répertoire de votre thème. Placez-le en haut de votre fichier d’en-tête.

 

6) Limiter la révision des articles WordPress 

La fonction d’enregistrement automatique est super utile, mais il se peut que vous vous retrouviez avec un tas de révisions après coup. Utilisez cette fonction pour en limiter le nombre. Mettez-le dans le fichier wp-config.php

# Maximum 5 revisions #
define('WP_POST_REVISIONS', 5);

Ou, à la place de cette ligne, pour désactiver toutes les révisions :

define('WP_POST_REVISIONS', false);

Dans functions.php, ces constantes sont sans effet : WordPress les a déjà définies quand il charge le thème. Pour limiter les révisions depuis functions.php, utilisez plutôt ce filtre :

add_filter( 'wp_revisions_to_keep', function () {
	return 5;
} );

 

7) Régler l'enregistrement automatique dans WordPress

L’enregistrement automatique de WordPress est très pratique. Ce snippet vous permet de définir la fréquence à laquelle cela se produira. Copier dans votre wp-config.php

# Autosave interval 5 Minutes #
define('AUTOSAVE_INTERVAL', 300);

 

8) Personnaliser le logo de connexion WordPress sans plugin

C’est idéal pour ceux qui développent des sites web pour leurs clients qui veulent avoir leur propre marque sur leur site. Copier dans votre functions.php

function my_custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image:url('.get_stylesheet_directory_uri().'/images/custom-login-logo.gif) !important; }
</style>';
}
add_action('login_head', 'my_custom_login_logo');

 

9) Changer le logo Admin WordPress

Ne vous contentez pas de changer votre logo de connexion, changez aussi votre logo d’administration. Assurez-vous que vous avez ajouté votre admin_logo.png à votre dossier d’images. Copier dans functions.php

function custom_admin_logo() {
	echo '<style>#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before { content: ""; } #wpadminbar #wp-admin-bar-wp-logo > .ab-item { background: url(' . esc_url( get_stylesheet_directory_uri() . '/images/admin_logo.png' ) . ') center / 20px no-repeat; }</style>';
}
add_action( 'admin_head', 'custom_admin_logo' );

 

10) Copyright dynamique avec WordPress

Permet d'afficher une date dynamique (ex : 2019-2025). Utilisez ce snippet pour rendre la date dynamique afin que vous n’ayez plus jamais à vous en soucier. Copier dans functions.php

function comicpress_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 = "&copy; " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
} 

Puis affichez la date dans le fichier footer.php de votre thème (thème classique) :

<?php echo comicpress_copyright(); ?>

 

11) Comment ajouter un fil d’Ariane personnalisé à l’URL d’accueil dans WooCommerce

Vous cherchez un moyen de changer l’URL d’origine dans les "breadcrumbs" de WooCommerce en une URL spécifique en utilisant le get_permalink(); ? 

Ajoutez ce code dans le fichier functions.php

add_filter( 'woocommerce_breadcrumb_home_url', 'woo_custom_breadrumb_home_url' );
function woo_custom_breadrumb_home_url() {
    return get_permalink(6);
}

 

12) Comment définir un délimiteur de fil d’Ariane personnalisé dans WooCommerce

Vous cherchez un moyen de définir un délimiteur de fil d’Ariane personnalisé ? Code à copier dans le functions.php 

add_filter( 'woocommerce_breadcrumb_defaults', 'wps_breadcrumb_delimiter' );
function wps_breadcrumb_delimiter( $defaults ) {
  $defaults['delimiter'] = ' > ';
  return $defaults;
}

Pensez à changer $defaults[‘delimiter’] = ‘ > ‘ ; par $defaults[‘delimiter’] = ‘ - ‘ ; ou tout autre élément que vous voulez.

 

13) Comment supprimer les avis sur les produits de votre boutique WooCommerce

Vous cherchez un moyen de supprimer les avis sur les produits de votre boutique WooCommerce ? Sans code, décochez "Activer les avis produit" dans WooCommerce > Réglages > Produits. Sinon, code à copier dans le functions.php 

add_filter( 'woocommerce_product_tabs', function ( $tabs ) {
	unset( $tabs['reviews'] );
	return $tabs;
}, 98 );

 

14) Comment supprimer les onglets WooCommerce dans WordPress

Toujours dans WooCommerce. Vous pouvez supprimer les onglets WooCommerce si vous le désirez. Code à copier dans le functions.php

remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10);

 

Sécurité et protection

Ces snippets renforcent la sécurité de votre site WordPress. Placez-les dans votre functions.php ou mu-plugin.

15) Comment supprimer le fil d'Ariane WooCommerce dans WordPress

Code à copier dans le functions.php

add_action('template_redirect', 'remove_shop_breadcrumbs' );
function remove_shop_breadcrumbs(){
    if (is_shop())
        remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0); 
}

 

16) Comment faire en sorte que le numéro de téléphone ne soit pas un champ obligatoire dans WooCommerce

Code à copier dans le functions.php

add_filter( 'woocommerce_billing_fields', 'wps_remove_filter_phone', 10, 1 );
function wps_remove_filter_phone( $address_fields ) {
  $address_fields['billing_phone']['required'] = false;
  return $address_fields;
}

Ce filtre agit sur la page de commande classique : avec le bloc Commande de WooCommerce, la modification des champs de base par ce filtre n’est pas prise en charge.

 

17) Comment sauter la page Panier et envoyer directement vers la Commande

Code à copier dans le functions.php

add_filter( 'woocommerce_add_to_cart_redirect', 'redirect_to_checkout' );
function redirect_to_checkout() {
	return wc_get_checkout_url();
}

 

18) Définir un nombre maximum de mots sur les titres des publications WordPress

Vous gérez un blog avec plusieurs utilisateurs ? Utilisez ce snippet pour définir un nombre maximum de mots sur vos titres. Code à copier dans le functions.php

// Un article dont le titre dépasse 10 mots n'est pas publié : il reste en brouillon.
add_filter( 'wp_insert_post_data', function ( $data, $postarr ) {
	$max = 10; // nombre maximum de mots dans le titre
	if ( 'post' !== $data['post_type'] || ! in_array( $data['post_status'], array( 'publish', 'future' ), true ) ) {
		return $data;
	}
	// Ne touche pas aux articles déjà en ligne.
	if ( ! empty( $postarr['ID'] ) && 'publish' === get_post_status( $postarr['ID'] ) ) {
		return $data;
	}
	$texte = html_entity_decode( wp_strip_all_tags( wp_unslash( $data['post_title'] ) ), ENT_QUOTES, 'UTF-8' );
	$mots  = count( preg_grep( '/[\p{L}\p{N}]/u', preg_split( '/\s+/u', $texte, -1, PREG_SPLIT_NO_EMPTY ) ) );
	if ( $mots > $max ) {
		$data['post_status'] = 'draft';
	}
	return $data;
}, 10, 2 );

Un article dont le titre dépasse 10 mots est enregistré en brouillon au lieu d’être publié ; les articles déjà en ligne ne sont pas touchés.

 

19) Autoriser les contributeurs à télécharger des images

Par défaut, WordPress ne permet pas aux comptes contributeurs de télécharger des images. Ce code ajoute aux contributeurs le droit d’envoyer des fichiers (capacité upload_files). Ce droit est enregistré en base : il reste actif si vous retirez le code, jusqu’à un appel à get_role( 'contributor' )->remove_cap( 'upload_files' ).

A coller dans le functions.php de votre thème.

// À exécuter une fois : la capacité est enregistrée en base et reste active si vous retirez ce code.
add_action( 'admin_init', function () {
	$contributor = get_role( 'contributor' );
	if ( $contributor && ! $contributor->has_cap( 'upload_files' ) ) {
		$contributor->add_cap( 'upload_files' );
	}
} );

 

20) Définir le nombre minimum de mots sur les publications WordPress

Pour des articles de qualité, il faut imposer un nombre de mots minimum. Dans cet exemple 900 correspond au nombre de mots minimal. Code à copier dans le functions.php

// Un article de moins de 900 mots n'est pas publié : il reste en brouillon.
add_filter( 'wp_insert_post_data', function ( $data, $postarr ) {
	$num = 900; // nombre minimum de mots
	if ( 'post' !== $data['post_type'] || ! in_array( $data['post_status'], array( 'publish', 'future' ), true ) ) {
		return $data;
	}
	// Ne touche pas aux articles déjà en ligne.
	if ( ! empty( $postarr['ID'] ) && 'publish' === get_post_status( $postarr['ID'] ) ) {
		return $data;
	}
	$texte = html_entity_decode( wp_strip_all_tags( str_replace( '<', ' <', wp_unslash( $data['post_content'] ) ) ), ENT_QUOTES, 'UTF-8' );
	$mots  = count( preg_grep( '/[\p{L}\p{N}]/u', preg_split( '/\s+/u', $texte, -1, PREG_SPLIT_NO_EMPTY ) ) );
	if ( $mots < $num ) {
		$data['post_status'] = 'draft';
	}
	return $data;
}, 10, 2 );

Un article de moins de 900 mots est enregistré en brouillon au lieu d’être publié ; les articles déjà en ligne ne sont pas touchés.

 

21) Ajouter un texte par défaut sur toutes vos publications WordPress

Ce snippet vous permettra d’ajouter du texte par défaut qui apparaît dans chaque nouvelle publication. Copier dans le functions.php

add_filter( 'default_content', 'my_editor_content' );
function my_editor_content( $content ) {
$content = "This is some custom content I'm adding to the post editor because I hate re-typing it.";
return $content;
}

 

22) Ajouter du contenu personnalisé sous chaque article/publication WordPress

Vous pouvez ajouter un contenu personnalisé sous chaque article, peut-être une mention de copyright, de la publicité ou simplement un message de remerciement pour la lecture. Copier dans le functions.php

function add_post_content( $content ) {
	if ( ! is_feed() && ! is_home() ) {
		$content .= '<p>Copyright &copy; ' . wp_date( 'Y' ) . '&nbsp;' . esc_html( get_bloginfo( 'name' ) ) . '</p>';
	}
	return $content;
}
add_filter( 'the_content', 'add_post_content' );

 

23) Comment ajouter nofollow à un lien spécifique ou à tous les liens WordPress dans the_content

Vous cherchez un moyen d’ajouter le nofollow à des liens spécifiques ou à tous les liens de the_content ? Copier le code dans functions.php

function example_link_nofollow( $content ) {
	$url     = 'http://example.com';
	$content = str_replace( '<a href="' . $url, '<a rel="nofollow" href="' . $url, $content );
	return $content;
}
add_filter( 'the_content', 'example_link_nofollow' );

Le code ci-dessus ajoutera le nofollow aux liens spécifiques avec l’URL mentionnée ci-dessus. Pour ajouter le nofollow à tous les liens dans the_content, vous devez ajouter le code suivant :

function example_all_links_nofollow( $content ) {
	return str_replace( '<a href="', '<a rel="nofollow" href="', $content );
}
add_filter( 'the_content', 'example_all_links_nofollow' );

 

24) Comment demander une image avant de pouvoir publier un article WordPress

Pour que votre article puisse être publié, vous devez avoir ajouté une image. Si vous essayez de publier un article sans image mise en avant après avoir ajouté ce snippet, vous recevrez ce message : "Vous devez sélectionner l’image mise en avant. Votre article est enregistré mais ne peut pas être publié".

Code à copier dans le functions.php

add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');
function wpds_check_thumbnail($post_id) {
    // change to any custom post type
    if(get_post_type($post_id) != 'post')
        return;
    if ( !has_post_thumbnail( $post_id ) ) {
        // set a transient to show the users an admin message
        set_transient( "has_post_thumbnail", "no" );
        // unhook this function so it doesn't loop infinitely
        remove_action('save_post', 'wpds_check_thumbnail');
        // update the post set it to draft
        wp_update_post(array('ID' => $post_id, 'post_status' => 'draft')); 
        add_action('save_post', 'wpds_check_thumbnail');
    } else {
        delete_transient( "has_post_thumbnail" );
    }
}
function wpds_thumbnail_error()
{
    // check if the transient is set, and display the error message
    if ( get_transient( "has_post_thumbnail" ) == "no" ) {
        echo "<div id='message' class='error'><p><strong>Vous devez sélectionner l'image mise en avant. Votre article est enregistré mais ne peut pas être publié.</strong></p></div>";
        delete_transient( "has_post_thumbnail" );
    } 
}

 

25) Comment exiger une longueur minimale de commentaire dans WordPress

Ce snippet affichera ce message d’erreur si le message comporte moins de 20 caractères : "Tous les commentaires doivent comporter au moins 20 caractères." Code à copier dans le functions.php

add_filter( 'preprocess_comment', 'minimal_comment_length' );
function minimal_comment_length( $commentdata ) {
	$minimal_comment_length = 20;
	if ( mb_strlen( trim( $commentdata['comment_content'] ) ) < $minimal_comment_length ) {
		wp_die( 'Tous les commentaires doivent comporter au moins ' . $minimal_comment_length . ' caractères.' );
	}
	return $commentdata;
}

 

26) Comment activer Contact Form 7 sur des pages spécifiques uniquement

Ce snippet vous permettra d’activer le Contact Form 7 sur certaines pages seulement pour éviter de télécharger le plugin. Code à copier dans le functions.php

add_action( 'wp_print_scripts', 'deregister_cf7_javascript', 100 );
function deregister_cf7_javascript() {
    if ( !is_page(array(8,10)) ) {
        wp_deregister_script( 'contact-form-7' );
    }
}
add_action( 'wp_print_styles', 'deregister_cf7_styles', 100 );
function deregister_cf7_styles() {
    if ( !is_page(array(8,10)) ) {
        wp_deregister_style( 'contact-form-7' );
    }
}

 

Contenu et éditeur

27) Ajuster la taille par défaut pour le contenu intégré

Lorsque vous intégrez des images dans vos articles et pages WordPress, elles ont la taille par défaut pour être sélectionnées et affichées. Vous pouvez modifier la hauteur et la largeur par défaut de votre contenu intégré et ajouter une taille personnalisée de votre choix.

Code à copier dans le functions.php

function wps_embed_size($embed_size){
    if(is_single()){
        $embed_size['height'] = 240;
        $embed_size['width']  = 380;
    }
    return $embed_size;
}  
add_filter('embed_defaults', 'wps_embed_size');

 

28) Comment supprimer les éléments liés à WordPress oEmbed

Supprimer les terminaux de l’API REST, la découverte automatique d’oEmbed et le JavaScript spécifique à oEmbed du front-end et du back-end. Code à copier dans le functions.php

//Remove the REST API endpoint.
remove_action('rest_api_init', 'wp_oembed_register_route');
// Turn off oEmbed auto discovery.
add_filter( 'embed_oembed_discover', '__return_false' );
//Don't filter oEmbed results.
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
//Remove oEmbed discovery links.
remove_action('wp_head', 'wp_oembed_add_discovery_links');
//Remove oEmbed JavaScript from the front-end and back-end.
remove_action('wp_head', 'wp_oembed_add_host_js');

oEmbed offre un moyen facile d’intégrer du contenu d’un site à un autre. Vous le connaissez sans doute sur des sites comme YouTube et Twitter. Mais que faire si vous ne voulez pas que d’autres sites intègrent votre contenu ? Dans ce cas, ce snippet est pour vous.

 

29) Comment désactiver la barre latérale Widgets sur des pages spécifiques WordPress

Si vous ne voulez pas voir apparaître la barre latérale widgets sur certaines pages de votre site. Code à copier dans le functions.php

add_filter( 'sidebars_widgets', 'disable_sidebar_widgets' );
function disable_sidebar_widgets( $sidebars_widgets ) {
    if (is_single(array(1,2,4,8)))
        $sidebars_widgets = array( false );
            return $sidebars_widgets;
}

 

30) Comment réinitialiser les paramètres par défaut de WordPress sur votre site

Si vous êtes allés trop loin dans la modification de votre site, revenez aux réglages d’origine écran par écran, dans Réglages (Général, Lecture, Commentaires, Permaliens) : WordPress ne fournit pas de bouton de réinitialisation, et un code qui écrase ces réglages en bloc peut changer vos adresses ou supprimer des contenus sans retour possible.

 

31) Comment créer automatiquement une méta description à partir de votre contenu dans WordPress

Ce snippet vous permet d'ajouter des méta descriptions de manière automatique. Code à copier dans le functions.php

function create_meta_desc() {
	if ( ! is_single() ) {
		return;
	}
	$meta = wp_strip_all_tags( strip_shortcodes( get_post_field( 'post_content', get_queried_object_id() ) ), true );
	$meta = mb_substr( $meta, 0, 155 );
	echo '<meta name="description" content="' . esc_attr( $meta ) . '" />' . "\n";
}
add_action( 'wp_head', 'create_meta_desc' );

Ne l’utilisez pas si une extension SEO (Yoast SEO, Rank Math…) gère déjà la méta description : la balise serait en double.

 

32) Comment catégoriser et tagger automatiquement les messages dans WordPress 

Un snippet simple et efficace pour ajouter automatiquement une catégorie et un tag à vos articles. Code à copier dans le functions.php

add_action( 'wp_insert_post', 'update_post_terms' );
function update_post_terms( $post_id ) {
    if ( $parent = wp_is_post_revision( $post_id ) )
        $post_id = $parent;
    $post = get_post( $post_id );
    if ( $post->post_type != 'post' )
        return;
    // add a tag
    wp_set_post_terms( $post_id, 'new tag', 'post_tag', true );
    // add a category
    $categories = wp_get_post_categories( $post_id );
    $newcat = get_term_by( 'name', 'Some Category', 'category' ); 
    array_push( $categories, $newcat->term_id );
    wp_set_post_categories( $post_id, $categories );
}

 

33) Supprimer automatiquement les mots courts des URL pour un meilleur SEO dans WordPress

Vous cherchez un moyen de supprimer les mots courts de vos URL ? Évitez les codes qui le font automatiquement : ils modifient aussi l’adresse des contenus déjà publiés quand vous les retouchez. Raccourcissez plutôt le slug de l’article à la main, avant sa première publication.

 

34) Comment créer automatiquement de nouveaux utilisateurs dans WordPress

Souhaitez-vous créer automatiquement de nouveaux utilisateurs avec différents rôles d’utilisateur tels qu’administrateur, rédacteur, auteur, contributeur, abonné ? Code à copier dans le functions.php, puis à retirer dès que l’utilisateur est créé (il s’exécute à chaque chargement de l’administration).

function fb_wp_insert_user() {
$user_data = array(
'ID' => '',
'user_pass' => wp_generate_password(),
'user_login' => 'dummy',
'user_nicename' => 'Dummy',
'user_url' => '',
'user_email' => 'dummy@example.com',
'display_name' => 'Dummy',
'nickname' => 'dummy',
'first_name' => 'Dummy',
'user_registered' => '2010-05-15 05:55:55',
'role' => get_option('default_role') // Use default role or another role, e.g. 'editor'
);
$user_id = wp_insert_user( $user_data );
}
add_action( 'admin_init', 'fb_wp_insert_user' );

 

35) Comment modifier les compétences des utilisateurs en matière de rôles dans WordPress

Ce snippet vous permettra de modifier les capacités des rôles d’utilisateur afin de créer vos propres rôles d’utilisateur personnalisés. Code à copier dans le functions.php

IMPORTANT : Les compétences sont stockées dans la base de données, donc si vous voulez redonner une compétence à un rôle après l’avoir supprimée, vous devez utiliser et exécuter la fonction add_cap().

# Get the user role #
$edit_contributor = get_role('contributor');
# Contributor can upload media #
$edit_contributor->add_cap('upload_files');
# Contributor can no longer delete posts #
$edit_contributor->remove_cap('delete_posts');

 

36) Comment ajouter / supprimer des informations de contact dans la page profil WordPress

Souhaitez-vous personnaliser les coordonnées de votre profil WordPress ? La section "Informations personnelles" ne contient pas certaines informations de contact importantes, comme celles de Twitter ou Facebook.

Pour ajouter ou supprimer des champs dans cette section, il suffit d’ajouter ce qui suit à votre fichier functions.php

function new_contactmethods( $contactmethods ) {
    $contactmethods['twitter'] = 'Twitter'; // Add Twitter
    $contactmethods['facebook'] = 'Facebook'; // Add Facebook
    unset($contactmethods['yim']); // Remove YIM
    unset($contactmethods['aim']); // Remove AIM
    unset($contactmethods['jabber']); // Remove Jabber
    return $contactmethods;
}
add_filter('user_contactmethods','new_contactmethods',10,1); 

 

37) Afficher l’article le plus populaire d’une catégorie spécifique dans WordPress

Mettez en avant vos publications les plus populaires. Code à coller dans un fichier de modèle de votre thème enfant (par exemple sidebar.php), à l’endroit où la liste doit s’afficher (thème classique uniquement).

<?php
$args=array(
'cat' => 3,
'orderby' => 'comment_count',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 6,
'ignore_sticky_posts' => 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) { ?>
<ul>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php }
wp_reset_query(); ?>

Pensez à changer cette ligne concernant la catégorie :

'cat' => 3,

Et spécifiez combien de post vous voulez afficher :

 'posts_per_page' => 6,

 

38) Comment rediriger un utilisateur WordPress vers une page spécifique après une inscription réussie 

Code à copier dans le functions.php

function wps_registration_redirect(){
    return home_url( '/finished/' );
}
add_filter( 'registration_redirect', 'wps_registration_redirect' );

 

39) Comment bloquer la zone admin à tous les utilisateurs qui ne sont pas administrateurs dans WordPress

Ce snippet redirigera tous les utilisateurs qui ne sont pas administrateurs vers le domaine principal lorsqu’ils essaieront d’accéder à la partie admin de votre site WordPress. Les éditeurs et auteurs n’auront donc plus accès à l’éditeur. Code à copier dans le functions.php

add_action( 'admin_init', 'blockusers_wps_init' );
function blockusers_wps_init() {
	if ( wp_doing_ajax() || 'admin-post.php' === $GLOBALS['pagenow'] || current_user_can( 'manage_options' ) ) {
		return;
	}
	wp_safe_redirect( home_url() );
	exit;
}

 

40) Comment personnaliser le bouton Inscription dans WordPress

Si une inscription d’utilisateur est autorisée sur votre site, vous pouvez voir un lien "S’inscrire" sur votre page de connexion, juste en dessous de la case d’inscription. Grâce à ce snippet, vous pouvez facilement changer le texte du registre pour n’importe quel autre texte.

Code à copier dans le functions.php

add_filter( 'gettext', 'register_text', 10, 3 );
function register_text( $translation, $text, $domain ) {
	if ( 'default' === $domain && 'Register' === $text ) {
		return 'Créer un compte';
	}
	return $translation;
}

41) Comment ajouter une boucle dans la boucle 

La Boucle (The Loop) est utilisée par WordPress pour afficher chacun de vos articles. Ajouter une boucle dans la boucle au lieu de filtrer le contenu taggé. Il vous suffit d'ajouter ce code au fichier single.php

<?php
if ( have_posts() ) :
	while ( have_posts() ) : the_post();
		// Contenu de l'article courant ici.
		$related = new WP_Query( array(
			'post_type'      => 'post',
			'posts_per_page' => 3,
			'post__not_in'   => array( get_the_ID() ),
		) );
		while ( $related->have_posts() ) : $related->the_post();
			// Boucle secondaire ici.
		endwhile;
		wp_reset_postdata();
	endwhile;
endif;
?>

 

Performance et optimisation

42) Comment exploiter la mise en cache du navigateur à l’aide de .htaccess

Il s’agit d’un excellent snippet pour accélérer votre site Web. Collez-le dans le fichier .htaccess (n’oubliez pas de sauvegarder avant).

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/webp "access 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/javascript "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresDefault "access 2 days"
</IfModule>
## EXPIRES CACHING ##

 

43) Inclure JQuery de la meilleure des manières

WordPress inclut déjà une copie de jQuery, il n’est donc pas nécessaire de la télécharger sur votre serveur. Il doit se trouver au-dessus de la fonction wp_head

<?php wp_enqueue_script("jquery"); ?>

 

44) Activer le mode maintenance 

Vous avez besoin d’un mode de maintenance rapide ? Utilisez ce snippet. Il suffit de commenter lorsque vous ne voulez pas qu’il soit activé.

L’ajout d’une page de mode de maintenance à votre site est un excellent moyen de cacher les pages introuvables à vos visiteurs lorsque votre site web est hors service pour des raisons de maintenance.

Cela vous permet de modifier les paramètres, le thème ou les plugins de votre site normalement dans le backend du site, sans laisser vos visiteurs voir les détails que vous utilisez pour votre processus de maintenance.

À ajouter dans le fichier functions.php

function maintenance_mode() {
	if ( ! current_user_can( 'manage_options' ) ) {
		wp_die( 'Site en maintenance, revenez dans quelques minutes.', 'Maintenance', array( 'response' => 503 ) );
	}
}
add_action( 'template_redirect', 'maintenance_mode' );

 

45) Comment modifier l'adresse de connexion simplifiée 

Vous trouvez l’adresse de connexion par défaut trop encombrante ? Vous pouvez la modifier en éditant votre fichier .htaccess. Avant de procéder à des modifications, effectuez une sauvegarde.

Pour faire en sorte que votre URL de connexion soit simplement http://example.com/login, il suffit d’ajouter cette ligne dans votre fichier .htaccess avant la réécriture par défaut de WordPress :

RewriteRule ^login$ http://yoursite.com/wp-login.php [NC,L]

 

46) Comment détecter les utilisateurs Google 

Code à copier dans index.php (sans effet fiable si une extension de cache sert la page)

<?php
$referer = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : '';
if ( false !== strpos( $referer, 'google.' ) ) {
	echo 'Bonjour, visiteur venu de Google !';
}
?>

 

47) Modifier le texte du pied de page dans l’administration de WP 

Cela va de pair avec le changement de logo. Changez le texte du pied de page comme vous le souhaitez. Copier dans functions.php

function remove_footer_admin () {
echo 'James is Awesome. Thank you <a href="https://wordpress.org">WordPress</a> for giving me this filter.';
}
add_filter('admin_footer_text', 'remove_footer_admin');

 

48) Supprimer le numéro de version de WordPress

Vous devriez toujours utiliser la dernière version de WordPress. Cependant, vous pouvez toujours vouloir supprimer le numéro de version de WordPress de votre site. Ajoutez simplement cet extrait de code à votre fichier functions.php

function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');

49) Changer le Gravatar par défaut dans WordPress

Avez-vous vu l’avatar par défaut sur un site WordPress ? Vous pouvez facilement le remplacer par des avatars personnalisés de votre propre marque. Il suffit de télécharger l’image que vous souhaitez utiliser comme avatar par défaut, puis d’ajouter ce code à votre fichier dans functions.php 

add_filter( 'avatar_defaults', 'wpb_new_gravatar' );
function wpb_new_gravatar ($avatar_defaults) {
$myavatar = 'http://example.com/wp-content/uploads/2017/01/wpb-default-gravatar.png';
$avatar_defaults[$myavatar] = "Default Gravatar";
return $avatar_defaults;
}

 

50) Changer aléatoirement la couleur de fond dans WordPress

Voulez-vous changer aléatoirement la couleur de fond de votre WordPress à chaque visite et à chaque rechargement de page ? Voici comment le faire facilement.

Tout d’abord, vous devez ajouter ce code au fichier functions.php de votre thème.

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;
}

Puis, dans le fichier header.php de votre thème (thème classique), remplacez la balise d’ouverture <body <?php body_class(); ?>> par

<body <?php body_class(); ?> style="background-color:<?php wpb_bg(); ?>">

 

51) Ajouter des tailles d’images supplémentaires dans WordPress

WordPress crée automatiquement plusieurs tailles d’image lorsque vous téléchargez une image. Vous pouvez également créer des tailles d’images supplémentaires à utiliser dans votre thème. Ajoutez ce code dans le fichier functions.php

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

 

52) 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. Ajoutez ce code dans le fichier functions.php de votre thème 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 ensuite vous rendre dans Apparences > Menus et voir votre menu personnalisé.

capture d'écran 2021 05 13 à 13.52.17

Maintenant, vous devez ajouter le code suivant à votre thème où vous voulez afficher le menu de navigation:

<?php
wp_nav_menu( array(
'theme_location' => 'my-custom-menu',
'container_class' => 'custom-menu-class' ) );
?>

 

53) Ajouter des champs de profil d’auteur

Voulez-vous ajouter des champs supplémentaires à vos profils d’auteur dans WordPress ? Vous pouvez facilement le faire en ajoutant ce code à votre fichier functions.php

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 de WordPress.

Vous pouvez maintenant afficher ces champs dans votre modèle d’auteur comme ceci :

<?php echo $curauth->twitter; ?>

 

RSS, flux et partage

54) Manipuler le pied de page des feeds RSS

Avez-vous vu des blogs qui ajoutent leur publicité dans leur flux RSS en dessous de chaque article ? Vous pouvez faire de même en ajoutant le snippet suivant dans votre fichier functions.php

function wpformation_postrss($content) {
if(is_feed()){
$content = 'This post was written by Arnaud Terrisse '.$content.'Check out WPFormation';
}
return $content;
}
add_filter('the_excerpt_rss', 'wpformation_postrss');
add_filter('the_content', 'wpformation_postrss');

 

55) Ajouter des images à insérer dans les feeds RSS

Les thumbnails des articles ou les images mises en avant ne sont généralement affichés que dans la conception de votre site. Vous pouvez facilement étendre cette fonctionnalité à votre flux RSS avec une simple fonction dans votre flux RSS.

Copier dans functions.php

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');

 

56) 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.php de votre thème

Copier dans functions.php

function fb_disable_feed() {
wp_die( __('No feed available,please visit our <a href="'. home_url() .'">homepage</a>!') );
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);

57) Exclure des catégories spécifiques du flux RSS

Copier dans le fichier functions.php

function exclude_category($query) {
if ( $query->is_feed ) {
$query->set('cat', '-5, -2, -3');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

 

58) Désactiver la connexion par email 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 email dans WordPress en ajoutant ce code à votre fichier functions.php

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

 

59) Désactiver la fonction de recherche dans WordPress

Copier dans le fichier functions.php

function fb_filter_query( $query, $error = true ) {
	if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
		$query->is_search = false;
		$query->query_vars['s'] = false;
		$query->query['s'] = false;
		// to error
		if ( $error == true ) {
			$query->is_404 = true;
		}
	}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', '__return_empty_string' );

 

60) Supprimer le panneau de bienvenue du tableau de bord de WordPress

Le panneau de bienvenue est une boîte méta ajoutée à l’écran du tableau de bord WordPress. Il fournit des raccourcis utiles aux débutants pour faire des choses sur leur nouveau site WordPress.

Copier dans votre fichier functions.php

add_action( 'admin_init', function () {
	remove_action( 'welcome_panel', 'wp_welcome_panel' );
} );

 

61) Afficher le nombre total d’utilisateurs enregistrés dans WordPress

Si vous cherchez à savoir combien d'utilisateurs sont inscrits sur votre site WordPress, voici le snippet à utiliser :

Copier dans le fichier functions.php

// Function to return user count
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');

 

Apparence et personnalisation

62) Activer l’exécution des shortcodes dans les widgets de texte

Depuis WordPress 4.9, le widget Texte exécute déjà les codes courts, et avec les widgets en blocs vous disposez du bloc Code court : ce code n’est utile que sur une version plus ancienne. Il s’ajoute au fichier functions.php de votre thème

// Enable shortcodes in text widgets
add_filter('widget_text','do_shortcode');

 

63) Ajouter des types de fichiers supplémentaires à télécharger dans WordPress

Par défaut, WordPress vous permet de télécharger un nombre limité de types de fichiers les plus couramment utilisés. Cependant, vous pouvez l’étendre pour autoriser d’autres types de fichiers. Ajoutez ce code au fichier functions.php de votre thème :

function my_myme_types($mime_types){
$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écharger des fichiers PSD sur WordPress. N’ajoutez pas le SVG par ce moyen : un SVG peut contenir du JavaScript. Utilisez une extension qui nettoie les fichiers à l’envoi, par exemple Safe SVG. Vous pouvez chercher sur Google pour trouver d’autres types de fichiers que vous souhaitez autoriser, puis les utiliser dans le code.

 

64) Associer automatiquement les images mises en avant aux articles

Si votre thème WordPress ne lie pas automatiquement les images aux articles complets, vous pouvez essayer cette méthode. Ajoutez simplement ce code au fichier functions.php de votre thème.

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 );

 

65) Désactiver XML-RPC dans WordPress

XML-RPC est une méthode qui permet à des applications tierces de communiquer à distance avec votre site WordPress. Cela peut causer des problèmes de sécurité et peut être exploité par des pirates.

Il suffit d’ajouter ce code à votre fichier functions.php : le premier filtre désactive les méthodes XML-RPC qui demandent une authentification (publication, gestion), le second retire les pingbacks, qui restent actifs sans lui. Pour fermer complètement xmlrpc.php, bloquez-le au niveau du serveur.

add_filter( 'xmlrpc_enabled', '__return_false' );
add_filter( 'xmlrpc_methods', function ( $methods ) {
	unset( $methods['pingback.ping'], $methods['pingback.extensions.getPingbacks'] );
	return $methods;
} );

 

66) Ajouter un champ d’information sur l’auteur dans les articles de WordPress

Si vous gérez un site multi-auteur et que vous souhaitez présenter les auteurs à la fin de votre article, vous pouvez essayer cette méthode. Commencez par ajouter ce code à votre fichier functions.php :

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));
if ( ! empty( $display_name ) )
$author_details = '<p class="author_name">About ' . $display_name . '</p>';
if ( ! empty( $user_description ) )
// Author avatar and bio
$author_details .= '<p class="author_details">' . get_avatar( get_the_author_meta('user_email') , 90 ) . nl2br( wp_kses_post( $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">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_filter( 'the_content', 'wpb_author_info_box' );

Ensuite, vous pouvez ajouter quelques feuilles de style CSS personnalisées pour améliorer l’apparence. Vous pouvez utiliser cet exemple de CSS 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;
}

 

67) Masquer les erreurs de connexion dans WordPress

Les erreurs de connexion dans WordPress peuvent être utilisées par les hackers pour déterminer s’ils ont saisi un mauvais nom d’utilisateur ou un mauvais mot de passe. En masquant les erreurs de connexion dans WordPress, vous pouvez rendre votre zone de connexion un peu plus sûre.

Copier dans le fichier functions.php

function no_wordpress_errors(){
return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

 

68) Modifier la liste déroulante Aide

Si vous cherchez à développer votre menu déroulant Aide voici le snippet à utiliser

Copier dans le functions.php

add_action( 'load-post-new.php', 'add_custom_help_page' );
add_action( 'load-post.php', 'add_custom_help_page' );
function add_custom_help_page() {
	$screen = get_current_screen();
	if ( ! $screen || 'page' !== $screen->post_type ) {
		return;
	}
	$screen->add_help_tab( array(
		'id'      => 'custom-features',
		'title'   => 'Custom Features',
		'content' => '<p>Content placed above the more divider will appear in column 1. Content placed below the divider will appear in column 2.</p>',
	) );
}

 

69) Comment afficher une date relative pour vos articles 

Au lieu d’afficher la date à laquelle votre message a été posté, vous pouvez la mettre en relation avec une autre date - "il y a 6 mois" ou "il y a 3 semaines" ou autre. Utilisez ceci dans vos messages, commentaires et pages.

À placer dans un fichier de modèle de votre thème (thème classique), dans la boucle des articles ou des commentaires :

<?php // Articles et pages, dans la boucle d'un fichier de modèle : ?>
<?php echo esc_html( sprintf( 'il y a %s', human_time_diff( get_post_time( 'U', true ), time() ) ) ); ?>
<?php // Commentaires, dans la boucle des commentaires : ?>
<?php echo esc_html( sprintf( 'il y a %s', human_time_diff( get_comment_time( 'U', true ), time() ) ) ); ?>

 

70) Ajouter automatiquement un champ de recherche à votre menu de navigation

Copier dans functions.php

add_filter('wp_nav_menu_items','add_search_box', 10, 2);
function add_search_box($items, $args) {
ob_start();
get_search_form();
$searchform = ob_get_contents();
ob_end_clean();
$items .= '<li>' . $searchform . '</li>';
return $items;
}

 

71) Comment ajouter une pagination

Vous voulez une pagination en bas de votre site ? Insérez ce snippet dans votre functions.php

function my_paginate_links() {
global $wp_rewrite, $wp_query;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'prev_text' => __('« Previous'),
'next_text' => __('Next »'),
'end_size' => 1,
'mid_size' => 2,
'show_all' => true,
'type' => 'list'
);
if ( $wp_rewrite->using_permalinks() )
$pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
if ( !empty( $wp_query->query_vars['s'] ) )
$pagination['add_args'] = array( 's' => get_query_var( 's' ) );
echo paginate_links( $pagination );
}

Puis appelez <?php my_paginate_links(); ?> après la boucle, dans index.php ou archive.php (thème classique). La fonction native the_posts_pagination() fait la même chose.

 

72) Désactiver les widgets standard

Ce snippet vous permettra de désactiver les widgets calendrier, recherche, et commentaires récents. Vous pouvez utiliser ce snippet si vous n’avez pas le temps d’ajouter le support de certains widgets standard de WordPress à votre thème.

Copier dans functions.php

function unregister_default_wp_widgets() {
unregister_widget('WP_Widget_Calendar');
unregister_widget('WP_Widget_Search');
unregister_widget('WP_Widget_Recent_Comments');
}
add_action('widgets_init', 'unregister_default_wp_widgets', 1);

 

73) Ajouter des shortcodes aux widgets

Depuis WordPress 4.9, le widget Texte exécute déjà les codes courts, et avec les widgets en blocs vous disposez du bloc Code court : ce code n’est utile que sur une version plus ancienne. Copier dans functions.php

add_filter('widget_text', 'do_shortcode');

Après avoir inséré ce snippet, vous pouvez ajouter vos shortcodes aux widgets comme vous ajoutez les shortcodes dans les pages ou les articles.

 

Outils et intégrations

74) Google Analytics sans modifier le thème

Vous avez déjà mis à jour votre thème principal et réalisé quelques semaines plus tard que vous n’aviez pas ajouté le code de suivi de Google Analytics ?

Copier dans functions.php

add_action('wp_footer', 'ga');
function ga() { ?>
// Paste your Google Analytics code here
<?php }

⚠️ Mise à jour : Google Analytics Universal (UA) a été arrêté en juillet 2023. Utilisez désormais Google Analytics 4 (GA4) avec le tag gtag.js.

La méthode recommandée est d’utiliser Google Tag Manager ou un plugin comme MonsterInsights.

 

75) Définir l’éditeur de texte par défaut

Vous n’aimez pas l’éditeur WYSIWYG par défaut ? Vous pouvez le personnaliser à l’aide d’un snippet (éditeur classique uniquement).

Copier ce snippet dans functions.php

Ce snippet passe à l'éditeur visuel par défaut

# This sets the Visual Editor as default #
add_filter( 'wp_default_editor', function() { return 'tinymce'; } );

Ce snippet passe à l'éditeur de texte par défaut

# This sets the HTML Editor as default #
add_filter( 'wp_default_editor', function() { return 'html'; } );

 

76) Changer la police de l’éditeur HTML

Vous souhaitez utiliser une police autre que la police Courrier ? Utilisez ce snippet pour modifier comme vous le voulez (éditeur classique uniquement).

Copier dans functions.php

function change_editor_font() {
	echo '<style>.wp-editor-area { font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14px; color: #333; }</style>';
}
add_action( 'admin_print_styles', 'change_editor_font' );

 

77) Style de l’éditeur visuel

Vous pouvez donner un style à l’éditeur visuel. Il suffit de créer un nouveau fichier CSS - quelque chose comme editor-style.css et d’y inclure le snippet suivant (éditeur classique uniquement)

Copier dans functions.php

add_filter('mce_css', 'my_editor_style');
function my_editor_style($url) {
if ( !empty($url) )
$url .= ',';
// Change the path here if using sub-directory
$url .= trailingslashit( get_stylesheet_directory_uri() ) . 'editor-style.css';
return $url;
}

 

78) Ajouter des informations de contact personnalisées

Pour changer les informations de bases que WordPress propose voici un snippet à copier dans votre fichier functions.php

/* BEGIN Custom User Contact Info */
function extra_contact_info($contactmethods) {
unset($contactmethods['aim']);
unset($contactmethods['yim']);
unset($contactmethods['jabber']);
$contactmethods['facebook'] = 'Facebook';
$contactmethods['twitter'] = 'Twitter';
$contactmethods['linkedin'] = 'LinkedIn';
return $contactmethods;
}
add_filter('user_contactmethods', 'extra_contact_info');
/* END Custom User Contact Info */

Puis, dans le modèle d’auteur de votre thème (author.php, thème classique), affichez le lien :

<a href="<?php echo esc_url( get_the_author_meta( 'facebook' ) ); ?>">Facebook</a>

 

79) Mettre en évidence les termes de recherche

Renforcez votre fonctionnalité de recherche en mettant en évidence le terme recherché dans les résultats.

Ouvrez le fichier search.php et cherchez le code

the_title() function

Puis remplacer par

echo $title;

Au dessus de la ligne modifiée insérer le snippet suivant :

<?php
$title = get_the_title();
$keys  = array_filter( explode( ' ', get_search_query( false ) ) );
if ( $keys ) {
	$pattern = '/(' . implode( '|', array_map( function ( $k ) { return preg_quote( $k, '/' ); }, $keys ) ) . ')/iu';
	$title   = preg_replace( $pattern, '<strong class="search-excerpt">$1</strong>', $title );
}
?>

Ajouter le code suivant à votre fichier style.css :

strong.search-excerpt { background: yellow; }

 

80) Exclure les articles et les pages des résultats de recherche

Voici un snippet pour exclure les articles et les pages par leur ID

Copier dans functions.php

// search filter
function fb_search_filter( $query ) {
	if ( ! $query->is_admin && $query->is_search ) {
		$query->set( 'post__not_in', array( 40, 9 ) ); // id of page or post
	}
	return $query;
}
add_filter( 'pre_get_posts', 'fb_search_filter' );

Pour exclure aussi les sous-pages de ces pages, remplacez le code précédent par celui-ci. Ne collez pas les deux : ils déclarent la même fonction fb_search_filter(), ce qui provoque une erreur fatale.

// search filter
function fb_search_filter( $query ) {
	if ( ! $query->is_admin && $query->is_search ) {
		$pages = array( 2, 40, 9 ); // id of page or post
		// find children to id
		foreach ( array( 2, 40, 9 ) as $page ) {
			foreach ( get_pages( array( 'child_of' => $page ) ) as $child ) {
				$pages[] = $child->ID;
			}
		}
		$query->set( 'post__not_in', $pages );
	}
	return $query;
}
add_filter( 'pre_get_posts', 'fb_search_filter' );

 

81) Désactiver la recherche WordPress

Si vous ne souhaitez pas que vos visiteurs puissent effectuer des recherches sur votre site, utilisez ce snippet pour supprimer la fonctionnalité de recherche. C’est le même code qu’au snippet 59 : ne le collez qu’une fois, sinon la fonction fb_filter_query() serait déclarée deux fois (erreur fatale).

Copier dans functions.php

function fb_filter_query( $query, $error = true ) {
	if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
		$query->is_search = false;
		$query->query_vars['s'] = false;
		$query->query['s'] = false;
		// to error
		if ( $error == true ) {
			$query->is_404 = true;
		}
	}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', '__return_empty_string' );

 

82) Numéroter vos articles

Ce snippet vous permet d’ajouter des numéros à côté de vos articles. Vous pouvez utiliser Article 1, Article 2, Article 3 ; ou Post 1, Post 2, Post 3 ou autre.

Code à copier dans functions.php

function updateNumbers() {
global $wpdb;
$querystr = "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'post' ";
$pageposts = $wpdb->get_results($querystr, OBJECT);
$counts = 0 ;
if ($pageposts):
foreach ($pageposts as $post):
setup_postdata($post);
$counts++;
add_post_meta($post->ID, 'incr_number', $counts, true);
update_post_meta($post->ID, 'incr_number', $counts);
endforeach;
endif;
}
add_action ( 'publish_post', 'updateNumbers' );
add_action ( 'deleted_post', 'updateNumbers' );
add_action ( 'edit_post', 'updateNumbers' );

Ensuite ajouter ce code dans la boucle :

<?php echo get_post_meta($post->ID,'incr_number',true); ?>

 

83) Afficher vos articles de manière aléatoire

Code à coller dans un fichier de modèle de votre thème enfant (par exemple sidebar.php), à l’endroit où la liste doit s’afficher (thème classique uniquement)

<ul><li><h2>A random selection of my writing</h2>
<ul>
<?php
$rand_posts = get_posts( array( 'numberposts' => 5, 'orderby' => 'rand' ) );
foreach ( $rand_posts as $rand_post ) : ?>
	<li><a href="<?php echo esc_url( get_permalink( $rand_post ) ); ?>"><?php echo esc_html( get_the_title( $rand_post ) ); ?></a></li>
<?php endforeach; ?>
</ul>
</li></ul>

 

Boucles, requêtes et affichage

84) Lister vos articles à venir

Vous souhaitez afficher un événement qui aura lieu dans le futur ? Ce snippet vous permettra de répertorier les articles que vous avez planifiés pour une publication future.

Code à coller dans un fichier de modèle de votre thème enfant (par exemple sidebar.php), à l’endroit où la liste doit s’afficher (thème classique uniquement)

<div id="zukunft">
<div id="zukunft_header"><p>Future events</p></div>
<?php
$future = new WP_Query( array( 'posts_per_page' => 10, 'post_status' => 'future' ) );
if ( $future->have_posts() ) :
	while ( $future->have_posts() ) : $future->the_post(); ?>
		<div>
		<p><b><?php the_title(); ?></b><?php edit_post_link( 'e', ' (', ')' ); ?><br />
		<span><?php the_time( 'j F Y' ); ?></span></p>
		</div>
	<?php endwhile;
	wp_reset_postdata();
else : ?>
	<p>No future events scheduled.</p>
<?php endif; ?>
</div>

⚠️ Note : query_posts() est déconseillé. Utilisez WP_Query ou get_posts() à la place. Documentation WP_Query.

 

85) Afficher les articles associés

Code à coller dans un fichier de modèle de votre thème enfant (par exemple single.php), à l’endroit où la liste des articles associés doit s’afficher (thème classique uniquement)

<?php
$tags = wp_get_post_tags( get_the_ID() );
if ( $tags ) {
	echo 'Related Posts';
	$my_query = new WP_Query( array(
		'tag__in'             => array( $tags[0]->term_id ),
		'post__not_in'        => array( get_the_ID() ),
		'posts_per_page'      => 1,
		'ignore_sticky_posts' => true,
	) );
	while ( $my_query->have_posts() ) : $my_query->the_post(); ?>
		<p><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></p>
	<?php endwhile;
	wp_reset_postdata();
}
?>

 

86) Comment lister vos articles populaires en fonction du nombre de commentaires

Code à coller dans un fichier de modèle de votre thème enfant (par exemple sidebar.php), à l’endroit où la liste doit s’afficher (thème classique uniquement)

<h2>Popular Posts</h2>
<ul>
<?php
$popular = get_posts( array( 'numberposts' => 10, 'orderby' => 'comment_count', 'order' => 'DESC' ) );
foreach ( $popular as $popular_post ) :
	if ( $popular_post->comment_count > 0 ) : ?>
		<li><a href="<?php echo esc_url( get_permalink( $popular_post ) ); ?>"><?php echo esc_html( get_the_title( $popular_post ) ); ?></a> (<?php echo (int) $popular_post->comment_count; ?>)</li>
	<?php endif;
endforeach; ?>
</ul>

 

87) Comment afficher vos articles les plus récents

Code à coller dans un fichier de modèle de votre thème enfant (par exemple sidebar.php), à l’endroit où la liste doit s’afficher (thème classique uniquement)

<?php $recent = new WP_Query( array( 'posts_per_page' => 5, 'ignore_sticky_posts' => true ) ); ?>
<ul>
<?php while ( $recent->have_posts() ) : $recent->the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; wp_reset_postdata(); ?>
</ul>

⚠️ Note : query_posts() est déconseillé. Utilisez WP_Query ou get_posts() à la place. Documentation WP_Query.

 

88) Comment créer des types d’articles personnalisés

Code à copier dans functions.php

add_action( 'init', function () {
	register_post_type( 'wpf_product', array(
		'label'           => __( 'Products' ),
		'public'          => true,
		'show_ui'         => true,
		'capability_type' => 'page',
		'hierarchical'    => false,
		'rewrite'         => array( 'slug' => 'products' ),
		'query_var'       => 'products',
		'supports'        => array( 'title', 'thumbnail' ),
	) );
} );

 

89) Comment classer vos catégories par ordre de mise à jour la plus récente

Code à coller dans un fichier de modèle de votre thème enfant (par exemple sidebar.php), à l’endroit où la liste doit s’afficher (thème classique uniquement)

<?php
$cat_array = array();
$args=array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 20,
'ignore_sticky_posts' => 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
$cat_args=array('orderby' => 'none');
$cats = wp_get_post_terms( $post->ID , 'category', $cat_args);
foreach($cats as $cat) {
$cat_array[$cat->term_id] = $cat->term_id;
}
endwhile;
}
if ($cat_array) {
foreach($cat_array as $cat) {
$category = get_term_by('ID',$cat, 'category');
echo '<a href="' . esc_attr(get_term_link($category, 'category')) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>'.'<br />';
}
}
wp_reset_query();
?>

 

90) Comment exclure une catégorie spécifique

Code à coller dans un fichier de modèle de votre thème enfant (par exemple index.php), à l’endroit où la liste doit s’afficher (thème classique uniquement)

<?php
$query = new WP_Query( array( 'cat' => -2 ) );
while ( $query->have_posts() ) : $query->the_post();
	//the loop here
endwhile;
wp_reset_postdata();
?>

⚠️ Note : query_posts() est déconseillé. Utilisez WP_Query ou get_posts() à la place. Documentation WP_Query.

 

91) Comment afficher des commentaires récents avec Gravatar

C’est une bonne façon de réaliser quelque chose de simple sans avoir recours à un plugin. Vous pouvez afficher vos derniers commentaires dans votre barre latérale, avec le gravatar. Il suffit de coller ceci dans votre fichier sidebar.php

<?php $comments = get_comments( array( 'status' => 'approve', 'number' => 5 ) ); ?>
<ul>
<?php foreach ( $comments as $comment ) { ?>
<li>
<?php echo get_avatar( $comment, 35 ); ?>
<a href="<?php echo esc_url( get_comment_link( $comment ) ); ?>" title="<?php echo esc_attr( 'on ' . get_the_title( $comment->comment_post_ID ) ); ?>"><?php echo esc_html( $comment->comment_author ); ?> : <?php echo esc_html( wp_html_excerpt( $comment->comment_content, 35 ) ); ?>...</a>
</li>
<?php } ?>
</ul>

 

92) Comment afficher un numéro devant des commentaires

Si vous voulez un moyen rapide de montrer votre nombre de commentaires, vous pouvez ajouter ce snippet à votre fichier sidebar.php

<?php
$commcount = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1'");
if (0 < $commcount) $commcount = number_format($commcount);
echo "Our users have made ".$commcount." comments, care to join in?";
?>

93) Comment ajouter les boutons "Del" et "Spam" à vos commentaires

C'est parfois ennuyant de devoir aller dans la zone d’administration juste pour mettre un article/commentaire dans les spams. Vous pouvez utiliser ce snippet pour ajouter les boutons "Del" et "Spam" à vos commentaires sur le front-end.

Code à copier dans functions.php

function delete_comment_link( $id ) {
	$comment = get_comment( $id );
	if ( $comment && current_user_can( 'edit_comment', $comment->comment_ID ) ) {
		echo '| <a href="' . esc_url( admin_url( 'comment.php?action=cdc&c=' . $comment->comment_ID ) ) . '">del</a> ';
		echo '| <a href="' . esc_url( admin_url( 'comment.php?action=cdc&dt=spam&c=' . $comment->comment_ID ) ) . '">spam</a>';
	}
}

Puis, dans le modèle des commentaires de votre thème (thème classique), ajoutez cet appel juste après edit_comment_link() :

<?php delete_comment_link( get_comment_ID() ); ?>

 

Utilisateurs et profils

94) Comment supprimer les liens automatiques dans les commentaires

Voici un snippet qui empêche WordPress de transformer en liens les adresses tapées en clair dans vos commentaires (les liens HTML restent possibles)

Copier dans functions.php

remove_filter('comment_text', 'make_clickable', 9);

 

95) Comment changer le nom en auteur invité

Souvent, les auteurs invités ou contributeurs occasionnels ne publient qu’une seule fois. Vous pouvez utiliser ce snippet ainsi que des champs personnalisés pour changer le nom de l’auteur de l'article  par celui de l’auteur invité.

Copier dans functions.php

add_filter( 'the_author', 'guest_author_name' );
add_filter( 'get_the_author_display_name', 'guest_author_name' );
function guest_author_name( $name ) {
global $post;
$author = get_post_meta( $post->ID, 'guest-author', true );
if ( $author )
$name = $author;
return $name;
}

 

96) Comment insérer une boîte de présentation pour vos contributeurs

Pour insérer un encadré d’auteur sous un article, insérez ce snippet dans votre fichier single.php après les tags de l'articles

<div class="author-box">
<div class="author-left">
<div class="author-pic"><?php echo get_avatar( get_the_author_meta( 'user_email' ), 80 ); ?></div>
</div>
<div class="author-right">
<div class="author-name"><?php the_author_meta( 'display_name' ); ?></div>
<div class="author-bio"><?php the_author_meta( 'description' ); ?></div>
<div class="author-url"><?php if ( get_the_author_meta( 'url' ) ) { ?><a href="<?php echo esc_url( get_the_author_meta( 'url' ) ); ?>">Visit <?php the_author(); ?>'s website</a><?php } ?></div>
</div>
<div class="clear"></div>
</div>

Et voici du CSS pour personnaliser le tout

.author-box { padding: 10px; background: #ccc; border: 1px solid #333;}
.author-left {float:left; width: 80px; margin: 0 15px 0 0;}
.author-right {float:left; font-size: 13px; margin: 5px 0 0 10px;}
.author-pic {border: 1px solid #ccc;}
.author-name {font-weight:bold;}
.author-bio {padding: 5px 0 5px 0;}
.author-url {color: #555;}
.author-url a {color: #000;}
.author-url a:hover {color: #333;}
.clear {clear:both}

 

97) Comment mettre en évidence les commentaires de l’auteur d'un article

Ce snippet ne met en évidence que l’auteur de l'article et non pas tous les auteurs du site.

Copier dans votre fichier CSS

.commentlist .bypostauthor {
/* -- Add a darker border - */
border: 1px #bbb solid;
/* -- CSS3 Linear Gradient -- */
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#f5f5f5), to(#ddd));
background: -moz-linear-gradient(0% 100% 90deg,#ddd, #f5f5f5);
/* -- CSS3 Shadow -- */
-webkit-box-shadow:0px 0 50px #ddd;
-moz-box-shadow:0px 0 50px #ddd;
box-shadow:0px 0 50px #ddd;
}

98) Comment protégez votre fichier wp-config.php

Code à copier dans .htaccess

<Files wp-config.php>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
</Files>

FAQ - Questions fréquentes sur les snippets WordPress

Où placer les snippets WordPress ?

Trois options : dans le fichier functions.php de votre thème enfant, dans un mu-plugin (fichier PHP dans wp-content/mu-plugins/), ou via le plugin Code Snippets. Le mu-plugin est la méthode la plus robuste car il ne dépend pas du thème actif.

Quelle différence entre functions.php et un mu-plugin ?

Le fichier functions.php est lié à votre thème : si vous changez de thème, vous perdez vos snippets. Un mu-plugin (Must-Use Plugin) se charge automatiquement quel que soit le thème actif. Pour les modifications permanentes (sécurité, performance), privilégiez le mu-plugin.

Code Snippets ou WPCode : quel plugin choisir ?

Code Snippets est gratuit, léger et fiable - il stocke les snippets en base de données avec activation/désactivation individuelle. WPCode (ex Insert Headers and Footers) offre plus de fonctionnalités (bibliothèque cloud, conditions d’affichage) mais la version gratuite est limitée. Pour un usage simple, Code Snippets suffit.

Un snippet peut-il casser mon site WordPress ?

Oui. Un snippet avec une erreur de syntaxe PHP peut provoquer un écran blanc. Conseil : testez toujours en local d’abord (installer WordPress en local), et si vous utilisez le plugin Code Snippets, sachez que l’extension désactive à l’enregistrement un snippet qui contient une erreur ; en cas de blocage, son mode sans échec (constante CODE_SNIPPETS_SAFE_MODE dans wp-config.php) met tous les snippets en pause.

Ces snippets sont-ils compatibles PHP 8 ?

La plupart oui. Nous avons mis à jour les snippets qui utilisaient des fonctions obsolètes (create_function, query_posts). Vérifiez toujours la compatibilité PHP de votre hébergeur avant d’appliquer un snippet. En 2026, utilisez PHP 8.3 ou plus (PHP 8.1 n’est plus maintenu depuis fin 2025).

Faut-il un thème enfant pour utiliser ces snippets ?

Si vous les placez dans functions.php, oui - un thème enfant est indispensable pour ne pas perdre vos modifications à la prochaine mise à jour du thème. Avec un mu-plugin ou Code Snippets, ce n’est pas nécessaire.

Conclusion

Pour aller plus loin, consultez notre guide apprendre WordPress et découvrez comment sécuriser votre installation.

Cet article a abordé près de 100 snippets qui peuvent se rendre très utiles. Que vous soyez un développeur ou que vous cherchiez à  personnaliser vos thèmes WordPress, ces snippets couvrent la plupart des fonctionnalités et utilisations actuelles. Commentaires, articles, typographie, images, éditeur de texte ou flux RSS, les snippet présentés ont pour but de booster les performances de votre site. N'hésitez pas à piocher dans la liste ceux qui peuvent vous intéresser. 

Retenez bien que les snippets sont une bonne alternative à l'utilisation de plugins mais ils ne les remplacent en aucun cas car c'est ce qui fait la force de WordPress !

Mini-formation gratuite

Ces 7 templates, je les donne en formation payante. Ici, ils sont gratuits.

Sécurité, SEO, performance, contenu, maintenance - les outils que j'utilise en formation et en audit, avec les prompts IA pour aller 10x plus vite.

  • 01Workflow contenu anti-IA
  • 02Framework SEO Title/Meta/H1
  • 03Audit Express 30 points
  • 04Blindage sécurité 10 étapes
  • 05Performance web sans plugin
  • 06Calendrier maintenance IA
  • 07Plan d'action 90 jours

Double opt-in : confirme ton email, puis 1 email / 2 jours pendant 14 jours. WPFormation utilise les données saisies, via Brevo, pour votre inscription et les emails annoncés, avec votre consentement. Données jamais revendues. Désabonnement en 1 clic. Vos droits et la conservation de vos données

Fabrice Ducarme, formateur WordPress
Fabrice Ducarme

Référence francophone WordPress depuis 2012. Expert en IA (Claude, Gemini) et développement Headless (Next.js), je forme les professionnels à maîtriser l'écosystème web d'aujourd'hui et de demain.

Comment j'utilise l'IA pour écrire ces articles