Trick # 101 | Dieser Beitrag beinhaltet 1332 Wörter. – Geschätzte Lesezeit: 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);
}
});
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');
Werbung