No comment: Kommentarfunktion in WordPress deaktivieren

6. Juni 2021 | functions.php, WordPress

Geschätzte Lesezeit für diesen Beitrag: ca. 7 Minuten.

WordPress sieht von Haus aus eine Kommentarfunktion bei veröffentlichten Beiträgen vor. Das ist an sich nett: die Diskussion von Inhalten ist geschätzt. Noch schlimmer als gar keine Kommentarfunktion ist aber eine schlecht oder gar nicht bewirtschaftete Kommentarspalte. Dann ist Abschalten die bessere Lösung. Mit ein paar Zeilen Code geht das einfach.

Wenn Sie WordPress ganz neu eingerichtet haben und die Kommentarfunktion von allem Anfang an abschalten wollen, dann klicken Sie im Backend auf Einstellungen/Diskussion und deaktivieren dort den Punkt «Erlauben Sie Besuchern, neue Beiträge zu kommentieren». Schon ist die Kommentarfunktion auf Ihrer neuen WordPress-Installation von allem Anfang an abgeschaltet. In diesem Fall ist damit schon alles erledigt.

Kommentarfunktion loswerden, wenn die Website schon läuft

Vielleicht haben Sie jedoch bereits einige Beiträge und Seiten veröffentlicht und würden nun gerne aus der Kommentarfunktion aussteigen, weil Sie die Beantwortung der Kommentare zu sehr beansprucht. Keine Bange. Das kriegen Sie hin:

Einfach nachfolgenden Code in Ihre functions.php kopieren – welche sich unter Design/Theme-Editor findet – und schon sind die Kommentare ausgeblendet.

add_action('admin_init', function () {
    // Besucher beim Aufruf der Kommentarseite umleiten
    global $pagenow;
    
    if ($pagenow === 'edit-comments.php') {
        wp_redirect(admin_url());
        exit;
    }

    // Kommentar-Metabox aus Dashboard ausblenden
    remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');

    // Unterstützung für Kommentare und Trackbacks in Post-Types deaktivieren
    foreach (get_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');
        }
    }
});

// Kommentare im Frontend schliessen
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);

// Abgegebene Kommentare ausblenden
add_filter('comments_array', '__return_empty_array', 10, 2);

// Kommentarseite aus Menu entfernen
add_action('admin_menu', function () {
    remove_menu_page('edit-comments.php');
});

// Kommentarinks aus Admin-Bar entfernen
add_action('init', function () {
    if (is_admin_bar_showing()) {
        remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
    }
});
Der Code oben konzentriert sich auf das Frontend; den Bereich, den die User sehen. Es geht aber noch mehr:

Kommentarfunktion auch aus Backend entfernen

Wenn Sie die Kommentarfunktion ganz abschalten wollen (sie also auch im Backend nicht mehr sehen möchten), dann böte sich folgender, leicht erweiterter Code an. Er macht dasselbe wie der obige, schaltet aber auch im Backend alle Spuren der Kommentarfunktion ab.

Einfügen in die functions.php (öffnen unter Design/Theme-Design):

// Kommentarfunktion in Post-Types deaktivieren
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');

// Kommentare im Frontend schliessen
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);

// Abgegebene Kommentare ausblenden
function df_disable_comments_hide_existing_comments($comments) {
	$comments = array();
	return $comments;
}
add_filter('comments_array', 'df_disable_comments_hide_existing_comments', 10, 2);

// Kommentarseite aus Menu entfernen
function df_disable_comments_admin_menu() {
	remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'df_disable_comments_admin_menu');

// Besucher beim Aufruf der Kommentarseite umleiten
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');

// Kommentar-Metabox aus Dashboard ausblenden
function df_disable_comments_dashboard() {
	remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('admin_init', 'df_disable_comments_dashboard');

// Kommentarinks aus Admin-Bar entfernen
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');
Wordpress ist nun gewissermassen kommentarlos.

Werbung

Werbung

 

Kostenlose WordPress- und Divi-Tricks im Abo

Wir schicken Ihnen sporadisch (weniger als 10x jährlich) neue Tricks für Wordpress und das Divi-Theme, aber auch hilfreiche CSS- und HTML-Codes frei Haus.

Füllen Sie zur Anmeldung das folgende Formular aus. Angaben mit * sind Pflichtangaben.









Vielen Dank.

Pin It on Pinterest

Share This