web-dev-qa-db-fra.com

WordPress - Comment supprimer les balises Meta Generator?

J'ai ces tags:

<meta name="generator" content="Woo Framework Version 3.1.1" />
<meta name="generator" content="WordPress 3.5" />
<meta name="generator" content="Canvas 3.0" />

Je comprends que pour supprimer la balise de version WordPress, j’ajoute:

remove_action( 'wp_head', 'wp_generator' ); // goes into functions.php

Mais comment puis-je supprimer les balises themes meta?

11
John

Si vous essayez uniquement de supprimer le meta="generator", ajoutez cette ligne à votre functions.php .

remove_action( 'wp_head', 'wp_generator' );
18
lmmendes

Je cherchais une solution pour supprimer le générateur de méta de Layer Slider, je n'ai trouvé aucune aide sur les quelques sites Web que j'ai consultés, ils partagent tous les mêmes informations, qui ne concernent que le générateur WordPress ou des plugins populaires comme WooCommerce.

Le problème ici est que chaque plugin va avoir ses propres noms de hooks et conventions de nommage, il est donc presque impossible de les apprendre ou de les connaître. Je pense que le moyen le plus simple consiste à utiliser PHP avec preg_replace.

Code de travail qui a été testé dans WordPress 4.7.2. Dans functions.php de votre thème, placez-vous dans ce code et cela devrait fonctionner.

//Remove All Meta Generators
ini_set('output_buffering', 'on'); // turns on output_buffering
function remove_meta_generators($html) {
    $pattern = '/<meta name(.*)=(.*)"generator"(.*)>/i';
    $html = preg_replace($pattern, '', $html);
    return $html;
}
function clean_meta_generators($html) {
    ob_start('remove_meta_generators');
}
add_action('get_header', 'clean_meta_generators', 100);
add_action('wp_footer', function(){ ob_end_flush(); }, 100);

J'utilise une expression régulière pour capturer la balise meta. Cela concerne le fait qu'ils placent ou non des espaces entre le signe d'égalité. Utiliser ob_start pour couvrir l’ensemble du document. Nous ajoutons donc le preg_replace à partir de l'en-tête jusqu'au pied de page. Voyez comment ob_start fonctionne dans le manuel PHP Manual , il existe aussi des fois le codex WordPress ne stipule qu'il devrait utiliser ob_start.

Si vous trouvez cela utile, veuillez ajouter un coup de pouce afin que la prochaine personne à la recherche puisse trouver une solution de travail qui couvre tous les méta-générateurs. Je pense que la sécurité de ces développeurs de plug-in et de plate-forme est de mettre des numéros de version de méta-générateur dans le code. Surtout avec l'évolution des vulnérabilités découvertes tout le temps.

J'ai également ajouté un plugin qui fait exactement cela sur le référentiel WordPress.

Supprimer les méta-générateurs

14
webbernaut

NON!

Dans le cas où il est codé en dur dans le modèle de votre thème (c'est-à-dire dans header.php), vous devez alors le supprimer manuellement!

Sinon, utilisez cette solution complète pour supprimer toutes les balises de version:

// ============ removing inbuilt WP meta-tag ===========  http://stackoverflow.com/q/16335347/2377343  ========== //
  //if included in wp_head
    add_action( 'after_setup_theme', 'my_wp_version_remover' ); function my_wp_version_remover(){
        remove_action('wp_head', 'wp_generator'); 
    }
  //clean all responses from VERSION GENERATOR
    add_filter('the_generator',             'rm_generator_filter'); 
    add_filter('get_the_generator_html',    'rm_generator_filter');
    add_filter('get_the_generator_xhtml',   'rm_generator_filter');
    add_filter('get_the_generator_atom',    'rm_generator_filter');
    add_filter('get_the_generator_rss2',    'rm_generator_filter');
    add_filter('get_the_generator_comment', 'rm_generator_filter');
    add_filter('get_the_generator_export',  'rm_generator_filter');
    add_filter('wf_disable_generator_tags', 'rm_generator_filter');
                                    function rm_generator_filter() {return '';}
// ========================================================== //
3
T.Todua

J'ai trouvé this le code source d'un plugin indiquant qu'il supprime les balises méta WP générées automatiquement. Tu pourrais essayer ça.

  • Nom du plug-in: Remove WP Meta
  • Plugin URI: http://leekelleher.com/
  • Description: ce plugin supprime les balises méta WP générées automatiquement de chaque page Web.
  • Auteur: Lee Kelleher
3
user850010

J'ai récemment rencontré ce problème et j'ai dû supprimer les balises méta pour des raisons de sécurité et de spam pour un client. J'ai été en mesure de supprimer le générateur de méta de Wordpress, mais le thème utilise Woo Framework afin d'utiliser

remove_action('wp_head', 'wp_generator');

C'est insuffisant. Retirer

<meta name="generator" content="Woo Framework Version x.x.x" />

et tout ce que les balises méta générateur générées par votre thème génèrent simplement cette ligne à la fin du fichier functions.php de votre modèle.

// remove the unwanted <meta> links
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'woo_version'); 

Cela a fonctionné pour moi sur Woo Framework 5.5.5. Pour localiser l'emplacement de la balise méta du générateur, recherchez votre fichier admin-init.php pour votre modèle et la fonction woo_version() et la fonction woo_version_init() devraient être présentes. Habituellement, son sous le dossier includes dans votre source de thème.

2
KJYe.Name

Au bas du fichier functions.php , ajoutez cet extrait php suivant:

// hide the meta tag generator from head and rss
function disable_version() {
   return '';
}
add_filter('the_generator','disable_version');
remove_action('wp_head', 'wp_generator');
2
IvanRF

Le code suivant supprime toutes les balises génératrices du framework Woo. Je l'ai testé avec Woo Framework 6.0.4 et le thème Canvas 5.8.3:

// Remove the WooThemes version from the html headers
function no_woo_version ()
{
   return true;
}
add_filter ('wf_disable_generator_tags', 'no_woo_version');
1
Helge Klein

Si vous avez créé votre thème WordPress personnalisé, il n’y aura pas de problème de générateur en méta, FAITES comme j’ai eu l’échantillon. Il n'y aura pas de générateur, si vous ne le déclarez pas comme certaines de vos fonctions personnalisées. J'essaie de contrôler tous les scripts JS et les styles de mon thème comme ici . Si j'ai, style de plugins, il y a un peu plus de travail nécessaire.

mais si vous utilisez, thème gratuit, oui dans 100% il y aura générateur. Alors ajoutez dans le fichier Function.php 1 : http://sierra-group.in.ua/start-legkogo-rezhima-preprocesornoj-sborki-vashih-fajlov-stilej-i-skriptov.html/# custom-register-styles-sctiprs

function disable_version() { return '';}
add_filter('the_generator','disable_version');
remove_action( 'wp_head', 'wp_generator');
remove_action('wp_head', 'woo_version'); 
function no_woo_version (){   return true;}
add_filter ('wf_disable_generator_tags', 'no_woo_version');