pinterest
WPCode Lite — Mes snippets (header/footer, hooks)

WPCode Lite — Snippets propres (header/footer, hooks)

Mes snippets prêts à coller et mes réglages pour insérer du code propre, traçable et réversible sans toucher au thème. Au menu : header/footer, conditions, hooks WordPress, sécurité et performance.

  • PHP • HTML • CSS • JS • Shortcodes
  • Insertions automatiques (Header/Body/Footer)
  • Conditions (post type, rôle, URL…)
  • Sécurité : nonces, escape, rollback
Bannière WPCode Lite — Snippets propres
Insérez du code propre sans modifier votre thème.

📋 Sommaire

1) Pourquoi WPCode Lite

Éditer le functions.php ou l'en‑tête du thème n'est plus nécessaire. WPCode Lite centralise les snippets, permet de les activer/désactiver en 1 clic, de cibler des emplacements précis (Header/Body/Footer) et d'appliquer des conditions (type de contenu, rôle, URL…). En bonus : un rollback simple si un snippet pose problème.

2) Installation & principes

  1. WordPress → Extensions → Ajouter → « WPCode » → Installer → Activer.
  2. Créez un snippet → choisissez le type (PHP/HTML/JS/CSS/Shortcode).
  3. Définissez l'Auto Insert : Header, Body (début/fin), Footer ou Shortcode.
  4. Appliquez des conditions (site‑wide, archives, singular, ID, rôle…).
  5. Activez et testez sur une page de staging si possible.

Astuce : nommez vos snippets « catégorie — objectif » (ex. Analytics — GA4 gtag).

3) Types de snippets

PHP

Fonctions & hooks WordPress. Tester en staging. (désactivez si erreur)

HTML

Balises, meta, JSON‑LD, bannières.

CSS

Styles globaux légers (priorité : évitez d'y mettre un framework complet).

JS

Scripts front (déférable), événements, consentement.

4) Auto Insert : Header / Body / Footer

  • Header : meta, preconnect, JSON‑LD, balises nécessaires avant le rendu.
  • Body (start) : bannières consentement, pixels essentiels.
  • Footer : JS non critique, init des composants, analytics déféré.
  • Shortcode : rendre un snippet dans un article/page via .

5) Conditions & portée

  • Site‑wide, ou ciblage fin : types de contenu, catégories, ID, modèles, rôle utilisateur.
  • Front office seulement (!is_admin()) ou admin‑only.
  • URL contient / commence par, expression régulière (Pro pour options avancées).

6) Priorités & ordre de chargement

Pour les hooks (add_action / add_filter), utilisez la priorité (par défaut 10). Exemple : charger vos styles après le thème :

add_action('wp_enqueue_scripts', function(){
  wp_enqueue_style('custom-overrides', get_stylesheet_directory_uri().'/overrides.css', ['theme-handle'], '1.0');
}, 20); // priorité 20 > 10

7) Sécurité : sanitization & nonces

  • Échapper en sortie : esc_html(), esc_url(), wp_kses().
  • Assainir en entrée : sanitize_text_field(), absint().
  • Nonces pour les formulaires/JS : wp_create_nonce() + wp_verify_nonce().

8) Performance (défer, preload, preconnect)

Servez les scripts non critiques en defer, utilisez preconnect/dns‑prefetch vers les domaines tiers et preload pour les assets critiques. Évitez les doublons avec WP Rocket/LSCache.

<!-- Header HTML -->
<link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
<link rel="dns-prefetch" href="//www.googletagmanager.com">
// JS (Footer) — marquer un script comme defer
add_action('wp_enqueue_scripts', function(){
  wp_enqueue_script('my-lib', 'https://cdn.example.com/lib.js', [], null, true);
  add_filter('script_loader_tag', function($tag, $handle){
    if('my-lib' === $handle){ $tag = str_replace(' src', ' defer src', $tag); }
    return $tag;
  }, 10, 2);
});

9) Mes recettes prêtes à coller

A. GA4 (gtag) — consent‑aware

Header (HTML) : charge gtag seulement si consentement.

<script>window.__consent=window.__consent||{analytics:false};</script>
<script> if(window.__consent.analytics){
  var s=document.createElement('script'); s.async=1; s.src='https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX';
  document.head.appendChild(s); window.dataLayer=window.dataLayer||[]; function gtag(){dataLayer.push(arguments)};
  gtag('js', new Date()); gtag('config', 'G-XXXXXXX'); }
</script>

Si vous utilisez Site Kit, ne dupliquez pas le tag.

B. Désactiver emojis & oEmbed

add_action('init', function(){
  remove_action('wp_head','print_emoji_detection_script',7);
  remove_action('wp_print_styles','print_emoji_styles');
  remove_action('wp_head','wp_oembed_add_discovery_links');
  remove_action('wp_head','rest_output_link_wp_head');
});

C. JSON‑LD Article (minimal)

<script type="application/ld+json">{
 "@context":"https://schema.org","@type":"Article",
 "headline":"{title}","datePublished":"{date}","author":{"@type":"Person","name":"{author}"}
}</script>

Remplacez par vos variables dynamiques.

D. Autoriser SVG (basique)

add_filter('upload_mimes', function($m){ $m['svg']='image/svg+xml'; return $m; });

Attention : SVG peut contenir du JS. Privilégiez des SVG de confiance ou une sanitization dédiée.

E. Bouton CTA après 3ᵉ paragraphe

add_filter('the_content', function($c){
  if(is_singular('post')){
    $parts = preg_split('/(<\/p>)/i', $c, -1, PREG_SPLIT_DELIM_CAPTURE);
    if(count($parts) > 6){
      $cta = '<div class="cta"><a class="btn" href="/go/outil">Voir l\'outil</a></div>';
      array_splice($parts, 6, 0, $cta);
      return join('', $parts);
    }
  } return $c;
});

F. Preload police locale

<link rel="preload" as="font" href="/fonts/Inter-Var.woff2" type="font/woff2" crossorigin>

10) Shortcodes utiles

// [annee]
add_shortcode('annee', fn()=> date('Y'));
// [site_name]
add_shortcode('site_name', fn()=> get_bloginfo('name'));
// [cta slug="wp-rocket"]
add_shortcode('cta', function($a){ $a=shortcode_atts(['slug'=>''], $a); return 'Essayer'; });

11) Hooks pratiques

  • wp_head : metas, JSON‑LD, preconnect.
  • wp_footer : scripts non critiques.
  • template_redirect : redirections simples (attention aux boucles).
  • the_content : inserts CTA/notes (avec parcimonie).

12) Consentement & RGPD

Chargez Analytics/pixels après consentement. Centralisez la variable window.__consent (ou votre CMP) et entourez vos scripts.

13) Versionning & export/import

  • Nommez et taggez vos snippets.
  • Exportez en JSON et conservez une copie Git/Drive.
  • Notez la date et l'impact attendu dans la description.

14) Débogage & conflits

  • Activez un à un. Si écran blanc : désactivez le snippet via la base (ou SSH) et corrigez la syntaxe.
  • Console navigateur : F12Console pour JS.
  • Surveillez les doublons avec Site Kit, WP Rocket, thèmes.

15) Checklist express

  • Nom clair + tags (catégorie, objectif).
  • Auto Insert adapté (Header/Body/Footer/Shortcode).
  • Conditions précises (évitez site‑wide par défaut).
  • Test staging → prod. Rollback prêt.
  • Pas de doublons avec d'autres plugins.

Témoignages

« On a migré tout notre code du thème vers WPCode : déploiements plus sûrs et rollbacks en 1 clic. »
— Paul G., agence WordPress
« Le jeu de conditions évite de charger des scripts partout. On a gagné en vitesse. »
— Nadia S., média en ligne
« Les snippets “prêts à coller” (GA4, preload police, emojis) nous ont fait gagner des heures. »
— Clément R., blog technique

FAQ

Puis‑je casser le site avec un snippet PHP ?

Oui si erreur de syntaxe. Testez en staging, validez la syntaxe, et gardez l'accès FTP/SSH pour désactiver si besoin.

WPCode remplace‑t‑il un thème enfant ?

Pas totalement. Pour les surcharges de templates, utilisez un child theme. Pour petites fonctions/inserts, WPCode suffit.

Où mettre GA4 : Header ou Footer ?

Header si tag classique, Footer si usage déféré et non critique. Ne dupliquez pas avec Site Kit.

Comment limiter un snippet à quelques pages ?

Utilisez les conditions de WPCode (ID, taxonomie, modèles) ou entourez votre code PHP avec is_page()/is_singular().

WP Rocket/LiteSpeed font déjà du defer. Conflit ?

Évitez les doublons. Si le cache gère le defer/delay JS, ne le forcez pas dans WPCode pour les mêmes handles.

SEO (texte à copier)

Title ≤60 : WPCode Lite — Mes snippets (header, footer, hooks)
Meta ≤155 : Snippets WPCode Lite prêts à l'emploi : header, footer, hooks, conditions, sécurité et performances. Modèles simples sans toucher au thème.
Mots-clés : wpcode; snippets wordpress; header footer; hooks; ga4; preconnect; json-ld