Є ЯКЩО-небудь спосіб повністю видалити функцію та розділ коментарів?


26

Я не хочу, щоб запускалися будь-які запити коментарів. Я нічого не хочу про коментарі, що відображатимуться в області адміністрування Wordpress.

Чи можливо це в будь-який спосіб?

РЕДАКТУВАННЯ: Видаліть усі посилання на коментарі з панелі адміністратора та з усієї резервної частини.


Просто примітка, вам доведеться вручну видалити код з файлів шаблонів, оскільки немає можливості приховати його звідти кодом. Я вважаю, що якщо я помиляюся, хтось мене виправить.
xLRDxREVENGEx

Відповіді:


40

Ось перелік усіх вищезазначених відповідей та видалення посилання на панель адміністратора. Просто додайте його у свій функціональний файл тем або зробіть його плагіном. Я позначу це як вікі спільноти, оскільки відповідь кожного правильна, тільки ніхто не додав її разом.

<?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' );
?>


7

Це має усунути підтримку коментарів на вашому веб-сайті:

add_action('admin_menu', 'remove_comment_support');

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

Я не знаю, чи приховуватиме вона кожну згадку коментарів у розділі адміністратора. Поле "Прямо зараз" на приладовій панелі в основному є жорстким кодом, тому вам доведеться сховати це поле або зробити якийсь хакер, щоб відфільтрувати рядок про "Коментарі". Але слід видалити текст "коментарів" скрізь, де я можу придумати.


Але це все ще видно в меню адміністратора. Не хочу цього.
Пітер Вестерлунд

3

Це не видалить його з розмітки як такої , але ви можете легко приховати посилання адміністратора WP 3.1 (як візуально, так і з читачів екрану), додавши наступний рядок до CSS вашої теми:

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


Коли я ще читав цю тему, я знайшов цю публікацію в шести редакціях, яка висвітлює, як налаштувати багато адміністративного інтерфейсу, включаючи видалення всіх слідів функції коментарів.
отруєння

... і якщо з будь-якої причини ви хочете залишити що-небудь із цього для користувачів на рівні адміністратора, використовуйте current_user_canфункцію, наприклад: if (!current_user_can('level_10'))націлює лише користувачів, які не є адміністраторами.
отруєння

Користувацькі рівні застарілі. Використовуйте замість цього "management_options" або якусь іншу можливість.
scribu

@scribu: Я цікавився цим, не знайшов жодної недавньої посилання на рівні користувачів у WP Codex. Дякуємо, що повідомили мені ( ця таблиця ролей та можливостей допомогла мені отримати свої головні можливості).
отруєння


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');

Джерело

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.