Parlons de votre projet
WordPress Backoffice

WordPress : Supprimer les metaboxes de commentaires partout

Pour supprimer les metabox de commentaires dans les pages d’édition de contenu de wordpress, ajoutez le code suivant dans votre fichier functions.php : add_action('admin_menu','remove_comments_metabox'); function remove_comments_metabox() { rem...

WordPress : Supprimer les metaboxes de commentaires partout

Pour supprimer les metabox de commentaires dans les pages d’édition de contenu de wordpress, ajoutez le code suivant dans votre fichier functions.php :

add_action('admin_menu','remove_comments_metabox');
function remove_comments_metabox() {
remove_meta_box( 'postcomments','post','normal' );
}

// Disable support for comments and trackbacks in post types
function df_disable_comments_post_types_support() {
$post_types = get_post_types();
foreach ($post_types as $post_type) {
if(post_type_supports($post_type, 'comments')) {
remove_post_type_support($post_type, 'comments');
remove_post_type_support($post_type, 'trackbacks');
}
}
}
add_action('admin_init', 'df_disable_comments_post_types_support');

// Close comments on the front-end
function df_disable_comments_status() {
return false;
}
add_filter('comments_open', 'df_disable_comments_status', 20, 2);
add_filter('pings_open', 'df_disable_comments_status', 20, 2);

// Hide existing comments
function df_disable_comments_hide_existing_comments($comments) {
$comments = array();
return $comments;
}
add_filter('comments_array', 'df_disable_comments_hide_existing_comments', 10, 2);

// Remove comments page in menu
function df_disable_comments_admin_menu() {
remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'df_disable_comments_admin_menu');

// Redirect any user trying to access comments page
function df_disable_comments_admin_menu_redirect() {
global $pagenow;
if ($pagenow === 'edit-comments.php') {
wp_redirect(admin_url()); exit;
}
}
add_action('admin_init', 'df_disable_comments_admin_menu_redirect');

// Remove comments metabox from dashboard
function df_disable_comments_dashboard() {
remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('admin_init', 'df_disable_comments_dashboard');

// Remove comments links from admin bar
function df_disable_comments_admin_bar() {
if (is_admin_bar_showing()) {
remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
}
}
add_action('init', 'df_disable_comments_admin_bar');

Reproduire cette personnalisation aujourd’hui

Le principe du hook reste utile, mais les écrans d’administration et les API WordPress ont évolué depuis la publication. Testez le code dans un environnement de recette avec la version exacte du cœur, du thème et des extensions du site.

  • Sauvegardez les fichiers et la base avant toute modification.
  • Contrôlez les capacités utilisateur, les nonces, la validation des entrées et l’échappement des sorties.
  • Placez la personnalisation dans une extension dédiée ou un thème enfant afin de préserver les mises à jour.

Référence : manuel officiel de développement des extensions WordPress.

Partager cet article