Roy Eyal sent us a PHP snippet which will allow you to disable comments in WordPress completely.
Copy paste the code below or simply download this .json file which you can directly import in Code Snippets.
<?php
add_action( 'admin_init', function () {
// Redirect any user trying to access comments page
global $pagenow;
if ( $pagenow === 'edit-comments.php' ) {
wp_redirect( admin_url() );
exit;
}
// Remove comments metabox from dashboard
remove_meta_box( 'dashboard_recent_comments', 'dashboard', 'normal' );
// Disable support for comments and trackbacks in post types
foreach ( get_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' );
}
}
} );
// Close comments on the front-end
add_filter( 'comments_open', '__return_false', 20, 2 );
add_filter( 'pings_open', '__return_false', 20, 2 );
// Hide existing comments
add_filter( 'comments_array', '__return_empty_array', 10, 2 );
// Remove comments page in menu
add_action( 'admin_menu', function () {
remove_menu_page( 'edit-comments.php' );
} );
// Remove comments links from admin bar
add_action( 'init', function () {
if ( is_admin_bar_showing() ) {
remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 60 );
}
} );
Thank you so much Roy Eyal for sharing this useful snippet 🙏
ps. if anyone has improvements are other great snippets, please do share them with us so we can highlight you and yours too. Simply send you snippet to team@codesnippets.pro.