Lesefortschritt:

No comment: Kommentarfunktion in Word­Press deaktivieren

6. Juni 2021 | functions.php, Word­Press

Trick # 101 | Dieser Beitrag beinhaltet 1332 Wörter. – Geschätzte Lesezeit: ca. 7 Minuten.

Word­Press 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 Word­Press 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 Word­Press-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');
Word­Press ist nun gewissermassen kommentarlos.

Werbung

Umfangreiche Beiträge in mehrere Teile portionieren

Dieser Tipp funktioniert nicht ganz überall. Auf dieser Website etwa, zeigt er keine Wirkung. In anderen Word­Press-Installationen funktioniert er aber - darum zeigen wir Ihnen, wie man umfangreiche Word­Press-Beiträge in mehrere Teile splittet.

Beitragspublikation im RSS-Feed verzögern

Wer seine Word­Press-Beiträge auch per RSS-Feed veröffentlicht, ist vielleicht an einer verzögerten Publikation im Feed interessiert. Das kann eine gute Idee sein, denn so hat man etwas Zeit, um Tippfehler zu korrigieren, die erst auffallen, ...
Keine Inhalte gefunden.

Werbung

 

Pin It on Pinterest

Share This
Überblick über den Datenschutz

Diese Website verwendet Cookies, damit wir Ihnen die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in Ihrem Browser gespeichert und dienen dazu, Sie wiederzuerkennen, wenn Sie auf unsere Website zurückkehren, und unserem Team zu helfen, zu verstehen, welche Bereiche der Website Sie am interessantesten und nützlichsten finden.