Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save DeveloperWil/3b63c1fc14e3debc7f86c2a5f9e18ab8 to your computer and use it in GitHub Desktop.

Select an option

Save DeveloperWil/3b63c1fc14e3debc7f86c2a5f9e18ab8 to your computer and use it in GitHub Desktop.
WordPress: Remove All Comments Support
/**
* Removes commenting from WordPress
*
* Redirects edit comment URL to admin URL
* Removes comment meta box
* Removes comments and trackback support for all post types
*/
function zpd_remove_commenting () {
// 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 );
}
add_action( 'admin_init', 'zpd_remove_commenting');
/**
* Remove the admin page for comments
*/
function zpd_remove_comments_admin_page() {
remove_menu_page( 'edit-comments.php' );
}
add_action( 'admin_menu', 'zpd_remove_comments_admin_page' );
/**
* Remove all comments links from the admin bar
*/
function zpd_remove_admin_bar_comments() {
if ( is_admin_bar_showing() ) {
remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 60 );
}
}
@DeveloperWil
Copy link
Copy Markdown
Author

Paste the code in your theme's functions.php file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment