WordPress
time_read112mn de lecture

Snippets WordPress : 80 exemples de code à intégrer pour booster votre site

24 mars 2024

Snippets WordPress : 80 exemples de code à intégrer pour booster votre site

WordPress est un CMS connu surtout pour sa facilité d’utilisation. De nombreuses fonctionnalités de votre site peuvent être gérées sans toucher à une seule partie du code. Cependant, si vous développez, vous devez noter que WordPress vous donne la possibilité de modifier son code et contrôler le fonctionnement de votre site. Cela est possible notamment, en utilisant les snippets WordPress.😇

Contenus masquer
4 Liste de 80 exemples de codes à intégrer pour booster votre site

Il existe plusieurs dizaines de snippets que vous pouvez utiliser pour modifier le comportement de WordPress au moment de son exécution. Et ces bouts de code peuvent être utilisés pour différents besoins.🤗

Objectif

Dans cet article, nous allons détailler les différents snippets WordPress les plus courants que vous pouvez utiliser. Vous allez découvrir une liste de 80 snippets parmi les plus utilisés en ligne.😊

Besoin d’un hébergement WordPress rapide et de qualité ?

LWS vous conseille sa formule d’hébergement WordPress en promotion à -20% (offre à partir de 3,99€ par mois au lieu de 4,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l’offre

Prérequis

L’utilisation de snippets implique d’ajouter des extraits de codes directement dans les fichiers d’installation de votre site afin de modifier le comportement de WordPress. Malheureusement, cette modification couvre un risque d’affecter votre site. Au préalable, vous devez :

  • Sauvegarder les fichiers d’installation de votre site et garder à l’écart une copie originale ;
  • Avoir accès aux fichiers de votre site soit en utilisant un client FTP tel que FileZilla ou encore le gestionnaire de fichiers (File Manager ou gestionnaire cPanel) inclut dans votre compte d’hébergement LWS.

Trucs et astuces


Si vous hébergez votre site web sur une formule d’hébergement web LWS (hébergement web Linux, hébergement cPanel, hébergement WordPress, etc.), alors vous bénéficiez de sauvegardes journalières gratuites accessibles depuis votre espace client !

Qu’est-ce qu’un snippet WordPress ?

snippets WordPressUn snippet WordPress est un extrait de code, lequel si ajouté à votre site peut modifier le fonctionnement de WordPress.

Trucs et astuces


La logique de WordPress même est fondée sur la facilité d’utilisation. Cela veut dire que vous pouvez presque tout faire dans la gestion de votre site sans toucher au code.

Cependant, WordPress étant un logiciel open source, les développeurs ont la possibilité de modifier le code source et l’adapter à un besoin spécifique.

Ainsi, chaque snippet est associé à une action spécifique. L’extrait constitutif du code peut aller du plus simple au plus complexe comme nous allons le voir avec certains exemples de cet article. En fonction des objectifs et des règles du code source de WordPress, les snippets peuvent être ajoutés dans les fichiers du thème (functions.php essentiellement) ou dans les fichiers de base de WordPress (wp-config.php, htaccess…).

Vous pouvez utiliser les snippets pour :

  • Augmenter la mémoire d’exécution de chaque script PHP ;
  • Supprimer certains éléments sur votre site, notamment les révisions d’articles qui surchargent inutilement votre base de données ;
  • Vider votre corbeille ;
  • Changer ou personnaliser le logo de WordPress ;
  • Supprimer les avis de produits sur une boutique créée avec WooCommerce ;
  • Fixer un nombre minimum de mots pour un article ;
  • Ajouter ou modifier le fil d’Ariane sur votre site…

Une solution clés en main pour créer un site WordPress ?

LWS vous conseille sa formule d’hébergement WordPress en promotion à -20% (offre à partir de 3,99€ par mois au lieu de 4,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l'offre

Liste de 80 exemples de codes à intégrer pour booster votre site

1. Augmenter la mémoire interne de WordPress

Chaque script PHP a une limite de mémoire pour son exécution. Cette dernière est généralement fixée par votre hébergeur afin de ne pas allouer toutes vos ressources à l’exécution d’un seul script. Cependant, si la limite est basse, il se peut que votre site ou vos extensions ne se chargent pas correctement.

Éventuellement, si vous avez installé beaucoup d’extensions ou votre trafic est élevé, vous pouvez augmenter la mémoire de WordPress avec le snippet suivant en l’ajoutant dans le fichier wp-config.php placé dans le dossier racine de votre installation :

<?php define('WP_MEMORY_LIMIT', '256M');?>

Ce bout de code augmente votre mémoire d’exécution PHP à 250 Mo.

Si vous hébergez votre site une formule d’hébergement web mutualisée, alors contactez votre hébergeur afin de faire évoluer votre formule dans le but d’augmenter la limite imposée.

2. Filtrer les articles WordPress mis en avant

Vous envisagez peut-être de mettre en avant certaines publications de votre site. Pour ce faire, accédez au fichier index.php de votre site et ajoutez l’extrait de codes suivant :

<?php
query_posts('showposts=5&amp;category_name=featured');
if ( have_posts() ) : while ( have_posts() ) : the_post();
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<p><?php the_content(); ?></p>
endwhile; else:
endif;
wp_reset_query(); 
?>

3. Utiliser une feuille de style différente pour différents navigateurs

Les navigateurs web modernes n’utilisent pas les mêmes normes CSS pour charger le contenu web. Si votre feuille de style est incompatible avec le navigateur du visiteur, cela peut altérer l’expérience utilisateur et obliger le visiteur à quitter votre site.

Or, en utilisant une feuille de style alternative, vous pouvez éviter ce problème et limiter le taux de rebond. Pour cela, ajoutez le code ci-dessous dans votre fichier functions.php :

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

4. Vider automatiquement la corbeille WordPress

Votre corbeille conserve encore pour une certaine durée les données supprimées sur votre site. Si la durée est prolongée, vous pouvez surcharger inutilement votre base de données. La solution consiste à configurer une suppression automatique de données en ajoutant le code ci-dessous à votre fichier functions.php :

<?php 
define('EMPTY_TRASH_DAYS', 10 ); 
?>

Votre corbeille sera vidée automatiquement tous les dix jours. Vous pouvez modifier cette durée en fonction de vos besoins.

5. Limiter la révision des articles WordPress

WordPress intègre un système d’enregistrement de révisions. Cependant, au fil du temps, vous pouvez surcharger votre base de données avec beaucoup de données de révisions. Ajoutez le code ci-dessous à votre fichier functions.php pour limiter le nombre d’enregistrements à 5 :
<?php 
# Maximum 5 revisions #
define('WP_POST_REVISIONS', 5);

Vous pouvez également désactiver la fonction de révisions avec l’extrait de codes ci-dessous :

<?php
define('WP_POST_REVISIONS', false);
?>

6. Régler l’enregistrement automatique dans WordPress

L’enregistrement automatique permet de ne pas perdre les modifications effectuées sur un article lorsque l’ordinateur est déconnecté ou éteint de façon imprévue. Pour optimiser votre base de données, vous pouvez limiter la fréquence d’enregistrement à 5 minutes, en ajoutant le code ci-dessous à votre fichier wp-config.php :

<?php
# Autosave interval 5 Minutes #
define('AUTOSAVE_INTERVAL', 300);
?>

7. Personnaliser le logo de connexion WordPress sans plugin

Si vous développez un site d’un client et que vous voudrez peut-être modifier le logo de connexion à WordPress et ajouter le logo de la marque, vous devez ajouter le snippet ci-dessous au fichier functions.php :

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

8. Personnaliser le logo Admin WordPress

Vous pouvez également personnaliser le logo d’administration de votre site WordPress avec le snippet ci-dessous :

<?php
function custom_admin_logo() {
echo '<style type="text/css">
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/admin_logo.png) !important; }
</style>';
}
add_action('admin_head', 'custom_admin_logo');
?>

Le code doit être ajouté au fichier functions.php. Ensuite, assurez-vous d’avoir le fichier admin_logo.png dans votre dossier d’images.

9. Afficher une date dynamique dans le copyright

Vous voudrez peut-être afficher une date dynamique dans le pied de page de votre site. Par exemple, au lieu d’afficher 2022, vous pouvez afficher 2022 – 2025. Intégrez le snippet ci-dessous dans votre fichier functions.php :

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

Ensuite, vous devez ajouter le code ci-dessous dans votre fichier footer.php :

< ? php  echo comicpress_copyright ( ) ;  ? >

10. Définir un délimiteur de fil d’Ariane personnalisé dans WooCommerce

Pour définir un délimiteur de fil d’Ariane personnalisé dans WooCommerce, intégrez le code ci-dessous dans le fichier functions.php :

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

11. Ajouter un fil d’Ariane personnalisé à l’URL d’accueil dans WooCommerce

Pour changer l’URL d’origine du fil d’Ariane en une URL personnalisée, vous pouvez appeler la fonction get_permalink(); en ajoutant le snippet ci-dessous à votre fichier functions.php :

<?php
add_filter( 'woocommerce_breadcrumb_home_url', 'woo_custom_breadrumb_home_url' );
function woo_custom_breadrumb_home_url() {
    return get_permalink(6);
}
?>

12. Supprimer les avis sur les produits d’une boutique WooCommerce

Si vous cherchez le moyen le plus facile pour supprimer les avis sur les produits de votre boutique WooCommerce, ajoutez le snippet ci-dessous dans votre fichier functions.php :

<?php
remove_action('woocommerce_product_tabs', 'woocommerce_product_reviews_tab', 30);
remove_action('woocommerce_product_tab_panels', 'woocommerce_product_reviews_panel', 30);
?>

13. Supprimer le fil d’Ariane WooCommerce dans WordPress

Vous ne voudrez peut-être pas afficher un fil d’Ariane sur votre boutique WooCommerce, ajoutez le code ci-dessous dans votre fichier functions.php :

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

14. Supprimer les onglets WooCommerce dans WordPress

Utilisez le snippet ci-dessous pour retirer tous les onglets de votre boutique WooCommerce :
<?php
remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10);
?>

Ce code doit être ajouté au fichier functions.php.

15. Rendre le remplissage du champ « numéro de téléphone » facultatif dans WooCommerce

Copiez le code ci-dessous pour faire en sorte que le numéro de téléphone ne soit pas obligatoire dans WooCommerce dans votre fichier functions.php :

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

16. Rediriger le client vers la page “ Panier ” et sauter la page “ Commande ”

Cela est possible en ajoutant le snippet ci-dessous à votre fichier functions.php :

<?php
add_filter( 'add_to_cart_redirect', 'redirect_to_checkout' );
function redirect_to_checkout() {
 global $woocommerce;
 $checkout_url = $woocommerce->cart->get_checkout_url();  
 return $checkout_url;
}
?>

17. Autoriser les contributeurs à télécharger des images

Par défaut, les utilisateurs WordPress ayant le rôle de contributeurs n’ont pas le droit de télécharger les images sur leurs articles. Si vous voulez modifier cette règle et leur accorder ce droit, ajoutez le code ci-dessous à votre fichier functions.php :

if ( current_user_can('contributor') && !current_user_can('upload_files') )
     add_action('admin_init', 'allow_contributor_uploads');
     function allow_contributor_uploads() {
          $contributor = get_role('contributor');
          $contributor->add_cap('upload_files');
     }

18. Limiter le nombre maximum de mots pour vos titres de publications

Le code ci-dessous vous permet de définir le nombre maximum de mots pour les titres de vos publications. Dans l’exemple ci-dessous, nous avons limité le nombre maximum de mots à 15 :

<?php
function maxWord($title){
global $post;
$title = $post->post_title;
if (str_word_count($title) >= 15 ) //set this to the maximum number of words
wp_die( __('Error: your post title is over the maximum word count.') );
}
add_action('publish_post', 'maxWord');
?>

Ajoutez ce code dans votre fichier functions.php et modifiez le nombre de mots en fonction de vos besoins.

19. Définir le nombre minimum de mots sur les publications WordPress

Si vous travaillez avec une équipe d’auteurs et d’éditeurs pour vos publications, vous pouvez être amené à fixer le nombre minimum de mots pour chaque article. Pour cela, vous devez ajouter le snippet ci-dessous à votre fichier functions.php :

<?php
function minWord($content){
global $post;
$num = 1000; //set this to the minimum number of words
$content = $post->post_content;
if (str_word_count($content) < $num) wp_die( __('Error: your post is below the minimum word count.') ); } add_action('publish_post', 'minWord');
?>

Pour notre cas, nous avons limité le nombre de mots à 1000, n’hésitez pas à modifier le nombre selon vos besoins.

20. Ajouter du contenu personnalisé sous chaque article WordPress

WordPress vous donne la possibilité d’ajouter un contenu personnalisé à la fin de votre publication. Si ce dernier doit être répété sur tous les articles, la meilleure façon de réduire la charge du travail consiste à utiliser le snippet ci-dessous en l’ajoutant au fichier functions.php :

<?php
function add_post_content($content) {
if(!is_feed() &amp;&amp; !is_home()) {
$content .= '<p>This article is copyright &copy; '.date('Y').'&nbsp;'.bloginfo('name').'</p>';
}
return $content;
}
add_filter('the_content', 'add_post_content');
?>

Vous pouvez personnaliser le contenu de notre exemple pour ajouter le vôtre en modifiant la ligne “ This article is copyright…”.

Votre contenu personnalisé peut être une publicité, un texte de remerciement, une mention légale, etc.

21. Afficher un texte par défaut sur toutes vos publications WordPress

Si vous envisagez d’ajouter un texte par défaut sur toutes vos publications, vous pouvez utiliser le snippet ci-dessous :

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

Copiez cet extrait de code dans le fichier functions.php et modifiez la ligne “ This is some custom…” en ajoutant votre propre texte.

22. Ajouter un attribut “nofollow” à un lien spécifique dans WordPress

Cette action est possible en ajoutant le code ci-dessous dans votre fichier functions.php :

<?php
function example_link_nofollow( $content ) {
    $url  ='http://votre-url.fr';
        $content = str_replace( '&lt;a href="'.$url.'', '&lt;a rel="nofollow" href="'.$url.'', $content );
    return $content;
}
add_filter('the_content','example_link_nofollow');
>

Vous devez modifier le lien par défaut dans cet exemple de codes et ajoutez le vôtre.

23. Ajouter un attribut “nofollow” à tous les liens de votre site

Si vous voulez que les robots de moteurs de recherche ne suivent pas toutes les URLs de votre site, vous devez intégrer le snippet ci-dessous dans votre fichier functions.php :

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

24. Rendre l’image mise en avant obligatoire avant de publier un article

Si vous souhaitez qu’aucun article de votre site ne soit publié si aucune image mise en avant n’est configurée, vous devez ajouter le code ci-dessous dans votre fichier functions.php. Ainsi, chaque fois que vous voudrez publier un article sans avoir ajouté une image mise en avant, vous aurez un message de type : “ Vous devez sélectionner l’image mise en avant ”.

<?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 "&lt;div id='message' class='error'&gt;&lt;p&gt;&lt;strong&gt;You must select Featured Image. Your Post is saved but it can not be published.&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;";
        delete_transient( "has_post_thumbnail" );
    } 
}
?>

25. Activer Contact Form 7 sur des pages spécifiques uniquement

Si vous envisagez d’activer le plugin Contact Form 7 sur certaines pages de votre site, vous devez intégrer le code ci-dessous au fichier functions.php :

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

26. Exiger un nombre minimum de caractères avant la publication d’un commentaire

Utilisez le code ci-dessous en l’intégrant dans le fichier functions.php de votre thème :

<?php
add_filter( 'preprocess_comment', 'minimal_comment_length' );
function minimal_comment_length( $commentdata ) {
     $minimalCommentLength = 40;
      if ( strlen( trim( $commentdata['comment_content'] ) ) &amp;lt; $minimalCommentLength ){
       wp_die( 'All comments must be at least ' . $minimalCommentLength . ' characters long.' );
     }
     return $commentdata;
}
?>

À la place de 40, vous pouvez mettre un chiffre de votre choix.

27. Supprimer les éléments liés à WordPress oEmbed

Le code ci-dessous vous permet de supprimer les éléments en rapport avec le JavaScript spécifique à oEmbed du front-end et du back-end, les terminaux d’API REST de WordPress ainsi que découverte automatique d’oEmbed. Le snippet doit être ajouté au fichier functions.php :

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

28. Personnaliser les dimensions par défaut des images ajoutées à WordPress

Vous avez la possibilité d’ajouter une hauteur et une largeur personnalisées aux images intégrées dans vos publications. Pour cela, vous devez copier le code ci-dessous dans votre fichier functions.php :

<?php
function wps_embed_size($embed_size){
    if(is_single()){
        $embed_size['height'] = 350;
        $embed_size['width']  = 700;
    }
    return $embed_size;
}  
add_filter('embed_defaults', 'wps_embed_size');
?>

Ajustez les dimensions en fonction de vos besoins.

 29. Créer automatiquement une méta-description à partir de votre contenu dans WordPress

Vous pouvez automatiquement ajouter une méta-description automatique à vos publications avec le snippet ci-dessous :
<?php
function create_meta_desc() {
    global $post;
if (!is_single()) { return; }
     $meta = strip_tags($post->post_content);
    $meta = strip_shortcodes($post->post_content);
    $meta = str_replace(array("n", "r", "t"), ' ', $meta);
    $meta = substr($meta, 0, 125); 
    echo "<meta name='description' content='$meta' />";
}
add_action('wp_head', 'create_meta_desc');
?>

Copiez ce snippet dans votre fichier functions.php.

30. Réinitialiser les paramètres par défaut de WordPress sur votre site

Si vous souhaitez revenir à la configuration par défaut de WordPress et supprimer toutes les modifications effectuées sur votre site, ajoutez le code ci-dessous au fichier functions.php :

<?php
function set_theme_defaults() {
    $o = array(
        'avatar_default'         => 'blank',
        'avatar_rating'          => 'G',
        'category_base'          => '/thema',
        'comment_max_links'      => 0,
        'comments_per_page'      => 0,
        'date_format'            => 'd.m.Y',
        'default_ping_status'    => 'closed',
        'default_post_edit_rows' => 30,
        'links_updated_date_format' => 'j. F Y, H:i',
        'permalink_structure'    => '/%year%/%postname%/',
        'rss_language'           => 'de',
        'timezone_string'        => 'Etc/GMT-1',
        'use_smilies'            => 0,
    );
    foreach ( $o as $k => $v ){update_option($k, $v);}
    // Delete dummy post and comment.
    wp_delete_post(1, TRUE);
    wp_delete_comment(1);
    return;
}
register_activation_hook(__FILE__, 'set_theme_defaults');
?>

31. Désactiver la barre latérale de Widgets sur des pages spécifiques

Pour désactiver la barre latérale de widgets dans WordPress sur certaines de vos pages, intégrez le snippet ci-dessous dans votre fichier functions.php :

<?php
add_filter( 'sidebars_widgets', 'disable_sidebar_widgets' );
function disable_sidebar_widgets( $sidebars_widgets ) {
    if (is_single(array(3,6,8,10)))
        $sidebars_widgets = array( false );
            return $sidebars_widgets;
}
?>

Vous devez définir le numéro de pages en fonction de votre besoin.

32. Ajouter automatiquement des catégories et des balises aux publications

Le snippet ci-dessous peut vous aider à gagner du temps et ajouter automatiquement des taxonomies à vos articles. Vous devez le copier dans le fichier functions.php :

<?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. Créer automatiquement des nouveaux utilisateurs dans WordPress

Dans WordPress, vous avez également la possibilité d’ajouter automatiquement des utilisateurs sur votre site en utilisant du code. L’extrait que vous devez ajouter à votre fichier functions.php ressemble à ceci :

<?php
function fb_wp_insert_user() {
$user_data = array(
'ID' => '',
'user_pass' => wp_generate_password(),
'user_login' => 'yoan',
'user_nicename' => 'Yoan',
'user_url' => '',
'user_email' => 'yoanb@example.com',
'display_name' => 'Yoan',
'nickname' => 'Yoan',
'first_name' => 'Yoan',
'user_registered' => '2022-10-04 09:35: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' );
?>

Vous devez remplacer les paramètres de l’utilisateur en fonction de votre contexte.

34. Retirer automatiquement les mots courts des URL pour des bons résultats SEO dans WordPress

Vous pouvez supprimer de façon automatique les mots courts de vos URLs afin d’améliorer les résultats du référencement naturel. Intégrez le code ci-dessous dans le fichier functions.php :

<?php
add_filter('sanitize_title', 'remove_short_words');
function remove_short_words($slug) {
    if (!is_admin()) return $slug;
    $slug = explode('-', $slug);
    foreach ($slug as $k => $word) {
        if (strlen($word) < 3) {
            unset($slug[$k]);
        }
    }
    return implode('-', $slug);
}
?>

35. Modifier les compétences des utilisateurs en matière de rôles dans WordPress

Si vous envisagez de changer les capacités de rôles d’utilisateur afin de générer des compétences personnalisées, vous devez ajouter le snippet ci-dessous à votre fichier functions.php :

<?php
# 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');
?>

Dans le code, vous devez spécifier l’utilisateur pour lequel vous souhaitez modifier les privilèges.

36. Rediriger un utilisateur WordPress vers une page spécifique après une inscription réussie

Ajoutez le code ci-dessous dans votre fichier functions.php :

<?php
function wps_registration_redirect(){
    return home_url( '/finished/' );
}
add_filter( 'registration_redirect', 'wps_registration_redirect' );
?>

37. Mettre en avant les publications les plus populaires d’une catégorie spécifique dans WordPress

Pour afficher les articles les plus populaires sur votre site et les mettre en avant, utilisez l’extrait de codes ci-dessous :

<?php
$args=array(
'cat' => 5,
'orderby' => 'comment_count',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 4,
'caller_get_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(); ?>

Le code est à copier et coller dans le fichier functions.php. Vous devez spécifier votre catégorie et le nombre de publications populaires à mettre en avant.

38. Bloquer la zone admin à tous les utilisateurs qui ne sont pas administrateurs dans WordPress

En insérant le code ci-dessous dans votre fichier functions.php, tous les utilisateurs qui n’ont pas les privilèges d’administrateurs ne peuvent pas accéder à la partie “ admin ” de votre site :

<?php
add_action( 'init', 'blockusers_wps_init' );
function blockusers_wps_init() {
        if ( is_admin() && ! current_user_can( 'administrator' ) ) {
                wp_redirect( home_url() );
                exit;
        }
}
?>

39. Ajouter une boucle dans la boucle

Il vous suffit d’ajouter le snippet ci-dessous à votre fichier single.php :

<?php
if (have_posts()) :
while (have_posts()) : the_post(); // the post loop
$temp_query = $wp_query; // store it
$args = array(
'paged' => $paged, // paginates
'post_type'=>'post',
'posts_per_page' => 3,
'order' => 'DESC'
);
$wp_query = new WP_Query($args);
while ($wp_query->have_posts()) : $wp_query->the_post();
// -- your new loop -- //
>endwhile;
if (isset($wp_query)) {$wp_query = $temp_query;} // restore loop
>endwhile;
endif;
?>

40. Personnaliser le bouton “ Inscription ” dans WordPress

WordPress affiche le bouton “ S’inscrire ” sur votre site généralement dans le pied de pages, lorsque les inscriptions sont autorisées. Vous pouvez copier le snippet ci-dessous dans le fichier functions.php pour personnaliser le texte de ce bouton :

<?php
add_filter(  'gettext',  'register_text'  );
add_filter(  'ngettext',  'register_text'  );
function register_text( $translated ) {
     $translated = str_ireplace(  'Register',  'Sign Up',  $translated );
?>

41. Utiliser la mise ne cache navigateur pour accélérer votre site

Ouvrez votre fichier .htaccess et collez le code ci-dessous :

<?php
## EXPIRES CACHING ##
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
## EXPIRES CACHING ##
?>

42. Inclure jQuery de la bonne manière

Il faut noter que WordPress inclut une copie de jQuery. Vous pouvez simplement appeler votre script après la fonction wp_head avec l’extrait ci-dessous :

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

43. Activer facilement le mode maintenance

Vous pouvez ajouter le snippet suivant dans le fichier functions.php pour activer le mode maintenance :

<?php
function maintenance_mode() {
if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) {
die('Maintenance.');
}
}
add_action('get_header', 'maintenace_mode’);
?>

Vous pouvez ensuite commenter l’extrait de codes si vous ne souhaitez pas que le mode maintenance soit activé.

44. Simplifier l’adresse de connexion à WordPress

Si votre URL de connexion à WordPress vous paraît très longue, vous pouvez la raccourcir en utilisant le fichier .htaccess et adopter quelque chose de plus courte. Pour cela, vous pouvez utiliser l’extrait de codes ci-dessous :

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

45. Modifier le texte du pied de page dans WP Admin

Il vous suffit de copier l’extrait de codes ci-dessous dans le fichier functions.php de votre thème :

<?php
function remove_footer_admin () {
echo 'Jack is cool ! Thank you <a href="http://wordpress.org">WordPress</a> for giving me this filter.';
}
add_filter('admin_footer_text', 'remove_footer_admin’);
?>

46. Détecter les utilisateurs Google

Vous pouvez copier le code suivant dans le fichier index.php :

<?php
if (strpos($_SERVER[HTTP_REFERER], "google") == true) {
echo "Hello Google User!";
} ?>

47. Supprimer le numéro de la version de WordPress

Si vous envisagez de supprimer le numéro de version de WordPress sur votre site, ajoutez le code ci-dessous dans le fichier functions.php de votre site :

<?php
function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');
?>

48. Personnaliser le Gravatar sur votre site WordPress

Vous pouvez supprimer l’avatar par défaut qui s’affiche sur votre site ensuite le remplacer par une image personnalisée et adaptée à votre marque. Ainsi, commencez par ajouter l’image à utiliser dans la médiathèque de votre site puis copiez le code ci-dessous dans votre fichier functions.php :

<?php
add_filter( 'avatar_defaults', 'wpb_new_gravatar' );
function wpb_new_gravatar ($avatar_defaults) {
$myavatar = 'http://votre-site.fr/wp-content/uploads/2017/01/wpb-default-gravatar.png';
$avatar_defaults[$myavatar] = "Default Gravatar";
return $avatar_defaults;
}
?>

49. Ajouter des tailles d’images supplémentaires dans WordPress

Les images qui sont téléchargées sur votre site adoptent plusieurs tailles en fonction de votre configuration. Toutefois, vous pouvez ajouter des tailles d’images supplémentaires en copiant le code ci-dessous à votre fichier functions.php :

<?php
add_image_size( 'sidebar-thumb', 250, 250 , true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 350, 250 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode
?>

50. Ajouter des nouveaux menus de navigation à votre thème

Certains thèmes sont toujours limités en terme du nombre de menus que vous pouvez publier sur votre site. Heureusement, vous pouvez ajouter et personnaliser un menu de navigation avec du code. Tout d’abord, ajoutez l’extrait ci-dessous à votre fichier functions.php pour configurer un nouvel emplacement de menus :

<?php
function wpb_custom_new_menu() {
register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );
?>

Ensuite, vous devez ajouter le snippet ci-dessous à l’endroit où vous souhaitez afficher votre menu. Cela peut être dans le pied de pages ou dans l’en-tête de votre site :

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

Vous devez modifier le nom de menu dans l’exemple de codes ci-dessus. Ensuite, vous pouvez ajouter des éléments à votre menu depuis la section « Apparence › menus ».

51. Changer aléatoirement la couleur de fond dans WordPress

Vous pouvez également ajuster l’expérience utilisateur de votre site en chargeant aléatoirement une couleur de fond unique pour chaque nouveau visiteur. Copiez le code ci-dessous dans votre fichier functions.php :

<?php 

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

52. Ajouter des champs supplémentaires aux profils d’auteur

Dans WordPress, vous avez la possibilité d’ajouter des champs supplémentaires aux profils d’auteur. Pour ce faire, copiez l’extrait de codes suivant dans le fichier functions.php :

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

Dans l’extrait ci-dessus, nous avons ajouté les champs Twitter et Facebook. Pour les afficher, servez-vous du code ci-dessous :

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

Vous pouvez modifier le champ “ Facebook ”, en mettant un élément adapté à vos besoins. Comme préalable, vous devez avant tout ajouter les champs à afficher dans votre fichier functions.php.

53. Ajouter de la publicité dans le pied de page de votre flux RSS

Vous pouvez manipuler le pied de pages de vos feeds RSS en ajoutant quelque chose de plus personnalisée comme une publicité ou un n’importe quelle autre texte. Ainsi, copiez le code ci-dessous dans votre fichier functions.php :

<?php
function lws_postrss($content) {
if(is_feed()){
$content = 'This is the best content '.$content.'Check out LWS';
}
return $content;
}
add_filter('the_excerpt_rss', 'lws_postrss');
add_filter('the_content', 'lws_postrss');
?>

Vous devez personnaliser les paramètres de votre site dans le code en remplaçant “ LWS ” dans notre exemple.

54. Désactiver les flux RSS dans WordPress

Cela est plus simple et nécessite d’ajouter le snippet suivant dans votre fichier functions.php :

<?php
function fb_disable_feed() {
wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('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);
?>

55. Exclure des catégories spécifiques du flux RSS

Pour ce faire, vous pouvez insérer le snippet suivant dans votre fichier functions.php :

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

Vous devez définir les catégories à exclure à l’aide de leurs numéros respectifs dans l’extrait à ajouter.

56. Ajouter des images mises en avant aux feeds RSS

Généralement, WordPress ne prend pas en charge les images mises en avant pour les afficher dans votre flux RSS. Vous pouvez activer cette fonctionnalité en ajoutant le code ci-dessous à votre fichier functions.php :

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

57. Désactiver la fonction de recherche dans WordPress

Pour une raison ou une autre, vous voudrez désactiver la recherche sur votre site. Intégrez le code ci-dessous dans votre fichier functions.php :

<?php
function fb_filter_query( $query, $error = true ) {
if ( 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', create_function( '$a', "return null;" ) );
?>

58. Désactiver la connexion par e-mail dans WordPress

Vous devez insérer le snippet ci-dessous dans le fichier functions.php pour désactiver la connexion par e-mail :

<?php 
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
?>

59. Afficher le nombre total d’utilisateurs enregistrés dans WordPress

Vous voudrez peut-être savoir le nombre total d’utilisateurs actuellement ajoutés à votre site WordPress. Tout ce dont vous avez à faire est d’ajouter l’extrait suivant dans votre fichier functions.php :

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

60. Supprimer le panneau de bienvenue de l’espace d’administration WordPress

Le panneau de bienvenue est très pratique pour les débutants WordPress. Il permet d’être redirigé vers différentes sections du site. Mais vous ne souhaitez pas peut-être afficher ce dernier dans votre tableau de bord. Copiez l’extrait de code suivant dans votre fichier functions.php :

remove_action('welcome_panel', 'wp_welcome_panel');

61. Associer automatiquement les images mises en avant aux publications

L’affichage des images mises en avant est un processus automatique une fois que l’image est configurée dans l’éditeur de contenus. Malheureusement certains thèmes peuvent avoir des difficultés à afficher votre image mise en avant. Vous pouvez insérer le code ci-dessous dans le fichier functions.php pour essayer de corriger le problème :

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

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

Copiez le code ci-dessous dans votre fichier functions.php :

<?php
// Enable shortcodes in text widgets
add_filter('widget_text','do_shortcode');
?>

63. Désactiver XML-RPC dans WordPress

Ajoutez simplement le snippet ci-dessous au fichier functions.php de votre thème actif :

<?php
add_filter('xmlrpc_enabled', '__return_false');
?>

64. Ajouter des types de fichiers supplémentaires non autorisés dans WordPress

Vous ne le savez pas peut-être, WordPress prend en charge un nombre limité de types de fichiers à télécharger sur votre site. Toutefois, vous pouvez activer la prise en charge d’autres fichiers à l’aide du code ci-dessous :

<?php
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 snippet permet d’étendre la fonctionnalité de WordPress et télécharger des fichiers de type SVG et PSD. Il doit être ajouté au fichier functions.php.

65. Ajouter un bloc d’informations sur l’auteur dans les articles de WordPress

Si vous travaillez dans un environnement collaboratif et que vous souhaitez afficher un bloc d’information pour lier chaque publication à son auteur, ajoutez le code ci-dessous à votre fichier functions.php :

<?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( $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_action( 'the_content', 'wpb_author_info_box' );
// Allow HTML in author bio section
remove_filter('pre_user_description', 'wp_filter_kses’);
?>

Ensuite, vous pouvez améliorer l’apparence de votre champ d’informations en configurant du CSS personnalisé comme dans l’exemple ci-dessous :

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

Vous devez ajuster les différents paramètres en fonction de vos besoins.

66. Modifier/développer la liste déroulante “ Aide ”

Copiez le code ci-dessous dans votre fichier functions.php :

<?php
//hook loading of new page and edit page screens
add_action('load-page-new.php','add_custom_help_page');
add_action('load-page.php','add_custom_help_page');
function add_custom_help_page() {
//the contextual help filter
add_filter('contextual_help','custom_page_help');
}
function custom_page_help($help) {
//keep the existing help copy
echo $help;
//add some new copy
echo "<h5>Custom Features</h5>";
echo "<p>Content placed above the more divider will appear in column 1. Content placed below the divider will appear in column 2.</p>";
}
?>

67. Masquer les erreurs de connexion dans WordPress

Les pirates peuvent exploiter les erreurs de connexion pour tenter de savoir si les coordonnées qu’ils ont validées ne sont pas authentiques. En cachant ces éléments, vous pouvez renforcer dans une certaine mesure la sécurité de votre espace de connexion. Pour cela, copiez le code ci-dessous dans votre fichier functions.php :

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

68. Ajouter automatiquement un champ de recherche à votre menu de navigation

Vous devez simplement copier le code ci-dessous dans le fichier functions.php :

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

69. Modifier le style de date relative pour les articles

Avec cet extrait de code, au lieu que WordPress affiche la date en incluant l’année, le mois et le jour, il pourrait simplement afficher un format de type : “ il y a 2 semaines ou il y a deux ans… ”. Pour ce faire, copiez le code ci-dessous dans votre fichier functions.php :

<?php
# For posts &amp; pages # <?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago'; # For comments # <?php echo human_time_diff(get_comment_time('U'), current_time('timestamp')) . ' ago'; 
?>

70. Ajouter une pagination à WordPress

Copiez le snippet ci-dessous dans votre fichier functions.php :

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

71. Ajouter le code de suivi de Google Analytics

Ce snippet WordPress permet d’ajouter votre code de suivi Analytics sans modifier votre thème. Copiez-le dans le fichier functions.php. N’oubliez pas d’ajouter votre code de suivi dans l’endroit prévu :

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

72. Activer la prise en charge de shortcodes dans les widgets

Tout d’abord, vous devez copier le snippet ci-dessous dans le fichier functions.php :

add_filter('widget_text', 'do_shortcode');

Ensuite, vous pouvez ajouter n’importe quel code court dans vos widgets comme vous le ferrez dans une page ou dans un article.

73. Désactiver les widgets standards

Si vous souhaitez un peu d’espace sur votre barre latérale, ou vous n’avez pas du temps pour personnaliser vos widgets standards, utilisez le snippet ci-dessous pour les désactiver :

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

En ajoutant ce snippet au fichier functions.php, vous désactivez les widgets calendrier, barre de recherche et commentaires récents.

74. Passer à l’éditeur visuel par défaut

Dans l’éditeur TinyMCE, le code ci-dessous ajouté à votre fichier functions.php, permet de passer à l’éditeur visuel par défaut :

<?php
# This sets the Visual Editor as default #
add_filter( 'wp_default_editor', create_function('', 'return "tinymce";') );
?>

75. Passer à l’éditeur de texte par défaut

De la même manière que le cas précédent, vous pouvez passer à l’éditeur de texte par défaut en ajoutant le snippet ci-dessous dans votre fichier functions.php :

<?php
# This sets the HTML Editor as default #
add_filter( 'wp_default_editor', create_function('', 'return "html";') );
?>

76. Changer la police de l’éditeur HTML

Pour changer la police de votre éditeur HTML, ajoutez le code ci-dessous à votre fichier functions.php :

<?php
function change_editor_font(){
echo "<style type='text/css'>
#editorcontainer textarea#content {
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. Exclure les articles et les pages des résultats de recherche

Il vous suffit d’ajouter le code ci-dessous dans le fichier functions.php tout en spécifiant l’identité de publications et des pages concernées :

<?php
// search filter
function fb_search_filter($query) {
if ( !$query->is_admin &amp;&amp; $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' );
?>

78. Afficher vos articles de manière aléatoire

Pour afficher vos publications de manière aléatoire, insérez le code ci-dessous dans le fichier functions.php de votre thème :

<?php
<ul><li><h2>A random selection of my writing</h2>
<ul>
<?php
$rand_posts = get_posts('numberposts=5&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;orderby=rand');
foreach( $rand_posts as $post ) :
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
</li></ul>
?>

79. Afficher les articles liés

Pour afficher les publications associées et augmenter le nombre de pages vues, ajoutez cet extrait de code dans votre fichier functions.php :

<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
echo 'Related Posts';
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
'post__not_in' => array($post->ID),
'showposts'=>1,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php
endwhile; wp_reset();
}
}
?>

80. Afficher les articles les plus récents de votre site

Vous pouvez faire cela en ajoutant le code ci-dessous dans votre fichier functions.php :

<?php query_posts('showposts=8'); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>

Vous pouvez modifier le nombre de publications à afficher en fonction de vos besoins dans l’extrait de codes ci-dessus.

Conclusion

🥳Toutes nos félicitations pour avoir lu cet article. Les snippets WordPress permettent de modifier le comportement de WordPress. Si vous êtes débutant, vous pouvez gérer entièrement votre site sans recourir à ces extraits de codes. Cependant, si vous êtes développeur, ces différents snippets vous seront très utiles. Quoi qu’il en soit, sauvegardez votre site avant d’apporter des modifications.

Besoin d'un serveur privé virtuel VPS sécurisé ?

LWS vous conseille sa formule d’hébergement sur VPS en promotion à -75% (offre à partir de 4,99€ par mois au lieu de 19,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l'offre

Si vous avez d’autres snippets à ajouter à cette liste, utilisez la section Commentaires pour nous écrire.

Avatar de l'auteur

Auteur de l'article

Joseph

Bonjour, je m'appelle Joseph. Je suis rédacteur spécialisé dans WordPress, PrestaShop et d'autres CMS. Fort d'une expertise approfondie en PHP et MySQL, je partage mes connaissances à travers des tutoriels simples et accessibles. Passionné par le développement et la transmission de savoir, j'aime expliquer et rendre les concepts techniques compréhensibles pour tous

Avis client de l'hébergeur LWS

Nos avis Trustpilot Nos avis Hostadvice Nos avis sur avis.lws.fr
Avis trustpilot 30/04/2022

LWS l'hébergeur par excellence !

LWS est pour moi l'hébergeur par excellence, que cela soit au niveau de l'hébergement qui est très performant, les mails qui sont d'une qualité professionnelle et de la gestion du domaine facile à comprendre.

PauseGreen

Avis hostadvice 27/04/2022

Super, au top !

Au top, prix attractif. Service très rapide et réactif. Je l'ai même personnellement recommandé à des proches. La vie est bien plus facile avec LWS

Masset Eliot

Avis avislws 26/04/2022

Support

Clair, efficace, rapide et à tarif abordable. J'ai maintenant un site superbe à mon image, puisque je le fais moi-même. L'équipe technique est au top, j'ai une réponse en 20 minutes, cela change d'autres hébergeurs pourtant plus connu.

Lady Whip

Avis hostadvice 24/04/2022

Bravo et merci

Bravo et merci aux équipes techniques pour leur réactivité et leur professionnalisme depuis plus de 10 ans chez eux et de nombreux sites !!! Merci

Olivier Delmas

Avis trustpilot 23/04/2022

Je suis très satisfait.

J'ai commandé un hébergement pour le site d'une association. Tout s'est passé très rapidement et sans la moindre embuche. La tarification est attractive et me parait très claire. Le panneau d'administration de l'hébergement est facile à utiliser et à comprendre. Je n'ai pas encore installé Wordpress car le contenu n'est pas prêt mais ce sera la prochaine étape et je suis très confiant. Merci !

Pierre-André Liné

Avis avislws 20/04/2022

Un service technique excellent

Je suis client chez LWS depuis 2011 avec une boutique OSCommerce qui tourne comme une horloge depuis cette date sur un hébergement mutualisé. La disponibilité de la boutique est très proche de 100%. Concernant les rares problèmes rencontrés en huit ans, j’ai eu à chaque fois un technicien compétent qui a résolu le problème très rapidement et efficacement. Je suis en train de migrer sur une plateforme Pretashop sur un VPS, avec l’offre LWS Debian 9 et Prestashop. Un technicien m’a grandement aidé pour finaliser l’installation de la boutique lors de la mise à jour vers la dernière version de Prestashop 1.7 qui posait problème. Je suis très satisfait de LWS, et ce sur la durée : réponses et réactions rapides et efficaces. Je recommande cet hébergeur et encore merci.

Alain

Avis trustpilot 16/04/2022

Une expérience jamais égalée !

Étant Développeur Web & Mobile Full-Stack depuis plus de 5 ans déjà, j'ai rarement eu un service client aussi rapide et efficace. Sans compter la qualité du service en ligne. Je recommande VIVEMENT LWS !

Chris KOUAKAM

Avis hostadvice 12/04/2022

Très bon hébergeur

J'ai un serveur VPS chez eux et je n'ai aucun problème, dès qu'il y a un problème le service technique est la pour vous aider et répond assez rapidement à votre demande. Je recommande vivement cet hébergeur.

Vanden Cruyce

Avis avislws 09/04/2022

Je suis ravie

Je suis ravie d'être avec LWS sur tous les plans, je remercie les Techniciens (Fabrice, Omar, Sandy-Mahitsison) depuis plus de 8 ans j'ai évolué avec LWS et toujours soutenue. Une véritable relation humaine même si les questions ou nos inquiétudes ne correspondent pas à leurs missions, ils sont là pour nous répondent et nous rassurent. Mon site c'est mon travail ma source de revenue donc il sont mes partenaires ! les travailleurs de l'ombre merci à eux ! Merci LWS

L'atelier-and-Co

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.