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.
- 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.)
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?
Bij een theme-update is het risico inderdaad aanwezig dat de code weg is, de plugin “disable comments” is dan een betere optie 🙂