Dit is een maffe bug die al meer dan 9 jaar bestaat en niet opgelost is ...
Gerapporteerd op 29 Mei 2012 - TracTicket (#20774).
Wat er gebeurt is dit: bij een WordPress Multisite, als je in de site gebruikers een gebruiker markeert als spammer, dan trek Wordpress de hele sub-site uit de lucht door deze als spam te markeren. Yikes!
Ik heb hiervoor een fix gemaakt, maar ...
Dit is slechts een tijdelijke fix, door een trigger te gebruiken op de database die voorkomt dat een site als "spam" gemarkeerd kan worden.
Wie markeert er eigenlijk een website als "spam" ??
Merk op:
- door deze fix kun je een website niet meer als spam markeren!
- gebruik deze truc op eigen risico, je kunt de trigger echter weer verwijderen als het fout gaat
Je hebt hiervoor toegang nodig tot jouw WordPress database, en ik ga er vanuit dat het een MySQL of een MariaDB database is (andere Database engines zouden triggers misschien niet ondersteunen of een anderSQL formaat hanteren om een trigger aan te maken).
Ik ga er vanuit dat "wp_" de prefix voor jouw hoofd-Wordpress website is, en dat je de blogs tabel hebt gevonden (wp_blogs).
Vervolgens voegen we een trigger met het volgende SQL statement toe:
CREATE TRIGGER `prevent_mark_as_spam` BEFORE UPDATE ON `wp_blogs` FOR EACH ROW SET NEW.spam = 0;
Wat deze trigger doet: voordat een regel in de wp_blogs tabel wordt geüpdate (BEFORE UPDATE), wordt de nieuwe (NEW) waarde van het veld "spam" geforceerd naar 0.
Nul wordt gebruikt als indicatie voor "false", dus als het veld "spam" = 0 dan wordt de betreffende site gezien als NIET spam.
De trigger kan weer verwijderd worden met:
DROP TRIGGER IF EXISTS `wp_blogs`.prevent_mark_as_spam;