Apakah ada cara APA SAJA untuk menghapus fungsi dan bagian komentar sepenuhnya?

26

Saya tidak ingin ada komentar yang dijalankan. Saya tidak ingin komentar tentang ditampilkan di admin area wordpress.

Apakah ini mungkin?

Sunting: Hapus semua tautan ke komentar dari admin bar, dan semua bagian backend.

Peter Westerlund
sumber
Hanya sebuah catatan Anda harus menghapus kode secara manual dari file template Anda karena tidak ada cara untuk menyembunyikannya dengan kode dari sana. Saya percaya jadi jika saya salah seseorang memperbaikinya.
xLRDxREVENGEx

Jawaban:

40

Berikut adalah daftar semua jawaban di atas dan penghapusan tautan admin bar. Cukup tambahkan ke file fungsi tema Anda atau buat plugin. Saya akan menandai ini sebagai wiki komunitas karena jawaban semua orang benar, tidak ada yang menambahkan semuanya.

<?php
// Removes from admin menu
add_action( 'admin_menu', 'my_remove_admin_menus' );
function my_remove_admin_menus() {
    remove_menu_page( 'edit-comments.php' );
}
// Removes from post and pages
add_action('init', 'remove_comment_support', 100);

function remove_comment_support() {
    remove_post_type_support( 'post', 'comments' );
    remove_post_type_support( 'page', 'comments' );
}
// Removes from admin bar
function mytheme_admin_bar_render() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu('comments');
}
add_action( 'wp_before_admin_bar_render', 'mytheme_admin_bar_render' );
?>
xLRDxREVENGEx
sumber
11

Untuk menghapus menu Komentar:

add_action( 'admin_init', 'my_remove_admin_menus' );
function my_remove_admin_menus() {
    remove_menu_page( 'edit-comments.php' );
}
Dzikri Aziz
sumber
Besar. Dan dari panel atas WP 3.1 yang baru?
Peter Westerlund
7

Ini harus menghapus dukungan untuk komentar di situs Anda:

add_action('admin_menu', 'remove_comment_support');

function remove_comment_support() {
    remove_post_type_support( 'post', 'comments' );
    remove_post_type_support( 'page', 'comments' );
}

Saya tidak tahu apakah itu akan menyembunyikan setiap penyebutan komentar di bagian admin. Kotak "Right Now" di dasbor kebanyakan hard-coded, jadi Anda harus menyembunyikan kotak itu atau melakukan peretasan untuk menyaring baris tentang "Komentar". Tetapi harus menghapus teks "komentar" di tempat lain yang dapat saya pikirkan.

lempengan emas
sumber
Tapi itu masih terlihat di menu admin. Tidak mau itu
Peter Westerlund
3

Ini tidak akan menghapusnya dari markup Anda sendiri , tetapi Anda dapat dengan mudah menyembunyikan tautan admin bar WP 3.1 (baik secara visual dan dari pembaca layar) dengan menambahkan baris berikut ke CSS tema Anda:

li#wp-admin-bar-comments { display: none; visibility: hidden; }

poisontofu
sumber
Saat melakukan beberapa bacaan lagi tentang hal ini, saya menemukan posting ini di Six Revisi yang mencakup cara mengubah banyak antarmuka admin, termasuk menghapus semua jejak fungsi komentar.
poisontofu
... dan jika karena alasan apa pun Anda ingin membiarkan semua ini aktif untuk pengguna tingkat admin, gunakan current_user_canfungsi ini, misalnya: hanya if (!current_user_can('level_10'))menargetkan pengguna non-admin.
poisontofu
Level pengguna sudah usang. Gunakan 'manage_options' atau kemampuan lain sebagai gantinya.
scribu
@scribu: Saya bertanya-tanya tentang hal ini, tidak dapat menemukan referensi terbaru untuk level pengguna di WP Codex. Terima kasih telah memberi tahu saya ( tabel peran & kemampuan ini membantu saya mendapatkan kemampuan kepala saya).
poisontofu
3
// 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');

Sumber

Manolis
sumber