Hello I what to remove WordPress default comment system and I want to use facebook comment system instead . Can anyone please tell me how to remove default comment system of WordPress . And also keep old comments on post. Thanks. (P.s - give me code snippet or tutorial reference I'm begginer.)

1 Answer 1


Add this code to your functions.php it removes the comment hooks that are default with Wordpress. If you ever want to reenable the comments just remove this code from your functions.php

// Add to existing function.php file
// 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() {
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');

and if any comments already exist you can remove the tables themselves from the database using phpMyAdmin or MySQL console.

TRUNCATE wp_commentmeta; 
TRUNCATE wp_comments;

Its probably safer to just use

DELETE FROM wp_comments;  
DELETE FROM wp_commentmeta;
  • Where to add "TRUNCATE " code .
    – shahrukh
    Apr 26, 2018 at 20:38
  • does your site currently have comments?
    – demo7up
    Apr 26, 2018 at 20:38
  • Yes . Actually it's a demo site and some of my post showing comment are closed
    – shahrukh
    Apr 26, 2018 at 20:40
  • I updated my post with the answer they are both MySQL Commands which can be run from phpmyadmin or mysql console
    – demo7up
    Apr 26, 2018 at 20:42
  • Why some post showing facebook comment plugins box for comment and below that it's showing "comments are closed".
    – shahrukh
    Apr 26, 2018 at 20:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.