[wp-trac] [WordPress Trac] #27111: Turning off global comments should include existing content

WordPress Trac noreply at wordpress.org
Thu May 14 07:52:12 UTC 2015


#27111: Turning off global comments should include existing content
-------------------------+-----------------------------
 Reporter:  jenmylo      |       Owner:
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  Future Release
Component:  Comments     |     Version:  3.9
 Severity:  normal       |  Resolution:
 Keywords:  has-patch    |     Focuses:  administration
-------------------------+-----------------------------

Comment (by Stagger Lee):

 - Post listing
 - Screen Options
 - Increase "Number of items per page"
 - Mark all posts
 - Bulk Actions - Edit
 - Comments - Do no allow

 One way process. Is it so difficult ? Is it better they lose time on
 something else improving in the core.

 This snippet remove all comments, even old comments, and any comment
 instance, form. etc:


 {{{
 // 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');
 }}}

--
Ticket URL: <https://core.trac.wordpress.org/ticket/27111#comment:23>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list