Gibt es eine Möglichkeit, die Kommentarfunktion und den Abschnitt vollständig zu entfernen?


26

Ich möchte nicht, dass Kommentarabfragen ausgeführt werden. Über Kommentare, die im Admin-Bereich von WordPress angezeigt werden, habe ich nichts zu sagen.

Ist das in irgendeiner Weise möglich?

BEARBEITEN: Entfernen Sie alle Links zu den Kommentaren aus der Admin-Leiste und dem gesamten Backend-Bereich.


Nur eine Anmerkung, Sie müssen den Code manuell aus Ihren Vorlagendateien löschen, da es keine Möglichkeit gibt, ihn mit Code von dort zu verbergen. Ich glaube, wenn ich falsch liege, korrigiert mich jemand.
xLRDxREVENGEx

Antworten:


40

Hier ist eine Liste aller oben genannten Antworten und das Entfernen des Links in der Admin-Leiste. Fügen Sie es einfach zu Ihrer Themes-Funktionsdatei hinzu oder machen Sie es zu einem Plugin. Ich werde dies als Community-Wiki kennzeichnen, da alle Antworten richtig sind, nur hat niemand alles zusammengefügt.

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

11

So entfernen Sie das Menü "Kommentare":

add_action( 'admin_init', 'my_remove_admin_menus' );
function my_remove_admin_menus() {
    remove_menu_page( 'edit-comments.php' );
}

Groß. Und aus dem neuen WP 3.1 Top Panel?
Peter Westerlund

7

Dies sollte die Unterstützung für Kommentare auf Ihrer Website entfernen:

add_action('admin_menu', 'remove_comment_support');

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

Ich weiß jedoch nicht, ob dadurch jede Erwähnung von Kommentaren im Admin-Bereich ausgeblendet wird. Das "Right Now" -Feld im Dashboard ist größtenteils fest codiert. Sie müssten dieses Feld also ausblenden oder etwas hacken, um die Zeile über "Kommentare" herauszufiltern. Aber es sollte den "Kommentare" -Text überall entfernen, wo ich mir vorstellen kann.


Aber es ist immer noch im Admin-Menü sichtbar. Will das nicht
Peter Westerlund

3

Dadurch wird es nicht per se aus Ihrem Markup entfernt , aber Sie können den Link der WP 3.1-Administrationsleiste (sowohl visuell als auch für Screenreader) einfach ausblenden, indem Sie die folgende Zeile zum CSS Ihres Themas hinzufügen:

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


Während ich etwas mehr über dieses Thema las, fand ich diesen Beitrag über Six Revisions, in dem es darum geht, einen Großteil der Administrationsoberfläche zu optimieren, einschließlich des Entfernens aller Spuren einer Kommentarfunktion.
Poisontofu

... und wenn Sie dies aus irgendeinem Grund für Benutzer mit Administratorrechten aktiviert lassen möchten, verwenden Sie die current_user_canFunktion, z. B .: if (!current_user_can('level_10'))Nur für Benutzer ohne Administratorrechte.
Poisontofu

Benutzerebenen sind veraltet. Verwenden Sie stattdessen 'manage_options' oder eine andere Funktion.
Scribu

@scribu: Ich habe mich darüber gewundert und konnte in letzter Zeit keinen Verweis auf Benutzerebenen im WP-Codex finden. Vielen Dank, dass Sie mich informiert haben ( diese Tabelle mit Rollen und Funktionen hat mir geholfen, meine Hauptfunktionen zu erlangen).
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');

Quelle

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.