Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Wordpress Multisite...
 
Deel:
Meldingen
Alles wissen

[Opgelost] Wordpress Multisite - User markeren als spammer, zet de hele subsite als spam

1 Berichten
1 Gebruikers
0 Reactions
1,071 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2859
Topic starter  

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;

   
BeantwoordenCiteren
Deel: