De reactie mogelijkheid volledig verwijderen in WordPress

De reactie mogelijkheid volledig verwijderen in WordPress
datum-geschreven 6 apr 2015

De reactie mogelijkheid volledig verwijderen in WordPress

Veel bedrijfswebsites worden gebruikt om de klant te informeren, maar er wordt geen gebruik gemaakt van de mogelijkheid om reacties achter te laten.

Die functie zit wel standaard in WordPress en zorgt ervoor dat spamscripts berichten achter laten op pagina’s en berichten. Zelfs als je de comment mogelijkheid hebt uitgeschakeld.

Om te voorkomen dat die berichten toch via een injectie in je pagina’s terecht komen, kun je de onderstaande code in je functions.php plaatsen. Of laten plaatsen aangezien de functions.php 1 van de weinige theme-bestanden is die je WordPress en volledige website plat kan leggen.

De onderstaande code,

De ondertaande code is een verzameling van alle verschillende functies die WordPress laadt om de comment feature te tonen in je admin, op de pagina’s e.d.
Hier heb je ook plugins voor maar deze missen vaak diverse functies waardoor je comments toch in de database komen te staan, en de plugins nemen vaak een hoop extra code mee aangezien ze ook management functies willen toevoegen aan de website.

Updates

Deze code zal zo-nu-en-dan aangevuld worden als WordPress nieuwe posities heeft waar het de comments toont.

  1. 6-4-2015 Ik heb een stuk code geschreven waardoor de bubble bovenaan je WordPress admin bar ook verdwijnt.

Wellicht wil je de comments alleen op specifieke plekken verwijderen in WordPress, daarom is de code ge-comment en vind je beschrijvingen in het nederlands wat de betreffende code doet.

//Verwijder de bubble bovenaan de site admin bar
function remove_admin_bar_links() {
 global $wp_admin_bar;
$wp_admin_bar->remove_menu('comments');
}
add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' );

// Verwijder comment functie voor berichten en trackbacks
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');

// Verwijder de comment functie op de 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);

// Verberg bestaande reacties
function df_disable_comments_hide_existing_comments($comments) {
    $comments = array();
    return $comments;
}
add_filter('comments_array', 'df_disable_comments_hide_existing_comments', 10, 2);

// Verberg menu link in je admin
function df_disable_comments_admin_menu() {
    remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'df_disable_comments_admin_menu');

// Re-direct directe toegang naar de comments in je admin
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');

// Verwijder de reactie boxen in je admin dashboard
function df_disable_comments_dashboard() {
    remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('admin_init', 'df_disable_comments_dashboard');

// Verwijder de link in je admin voor beheerders/administrators
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');

Wat je kunt doen alsxje al 5000+ comments hebt

Comments handmatig verwijderen

Handmatig verwijderen duurt bijzonder lang, maar als je er slechts 500+ hebt is het gemakkelijker wanneer je er 100+250 per pagina ziet en dan met select al 2x op verwijderen klikt.
Je kunt instellen hoeveel comments je op 1 pagina ziet door rechts-boven op scherminstellingen te klikken als je op de comment pagina zit. Dan kun je de weergave van 10 naar 100+ verhogen.

Comments met een plugin verwijderen

Je hebt plugins om je reacties in 1x te verwijderen.

Comments in de database verwijderen

Je kunt dit ook in de MySql database doen.
Daar heb je een table genaamd wp_comments die je in phpmyadmin kunt ‘legen’.
(Let op hier hebt je wel een beetje kennis voor nodig! Maak eerst een backup van de database als je weinig ervaring hebt.)

Meer WordPress:

De meeste artikelen worden geschreven door Mathieu Scholtes, de eigenaar van WPBeveiligen. Op de hoogte blijven van het laatste WordPress nieuws? WordPress tips? WordPress aanbiedingen?
Connect dan op Linked-in!

Heb je een vraag? Tip of gedachte? Deel die!

Abonneer
Breng me op de hoogte
guest
2 Reacties
Inline Feedbacks
Bekijk alle reacties
jasper

Moet je na een update deze code weer opnieuw in functions.php zetten? Wordt dit bestand niet overschreven door een update? Is er nog een andere manier om reacties uit te schakelen?