In alcune circostanze o per determinate tipologie di siti web potrebbe tornarvi utile disabilitare i commenti wordpress. Ma come fare se il vostro sito presenta già centinaia di articoli e migliaia di commenti?
Certo, potreste rimboccarvi le maniche, accedere al vostro pannello di amministrazione, selezionare uno ad uno i commenti e cancellarli, poi dovreste portarvi all’interno di ciascun articolo e disabilitare i commenti, infine dovreste disabilitare i commenti per i nuovi articoli. In poche parole dovreste perdere ore ed ore quando invece basterebbero 2 click ed una semplice query MySQL.
Il database come immagino già sapete può essere gestito mediante un pannello di amministrazione chiamato phpmyadmin attraverso il quale tra le varie cose è anche possibile eseguire dei comandi in grado di modificare immediatamente tutti i nostri i post.
Non importa quanto siate esperti esperti nell’utilizzo di phpmyadmin e delle query MySQL, il mio consiglio è quello di eseguire sempre un backup del database wordpress prima di apportare qualsiasi modifica
Disabilitare i commenti WordPress per i nuovi articoli
Per disabilitare i commenti per tutti i nuovi articoli la procedura da seguire è molto semplice. Portatevi nel pannello di amministrazione su Impostazioni->Discussione.
quindi eliminate la spunta dalla voce “Consenti la scrittura di commenti per i nuovi articoli” e salvate le impostazioni.
Disabilitare i commenti wordpress per i vecchi articoli
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2010-01-01' AND post_status = 'publish';
Analizziamo nel dettaglio questa query per capire quali modifiche apporterà:
UPDATE -> questa parola informa il database che la query che stiamo lanciando andrà ad aggiornare la tabella specificata subito dopo.
wp_posts -> è la tabella che andremo a modificare.
SET -> questo comando informa il database che vogliamo impostare/modificare un valore della tabella che sarà specificato subito dopo.
comment_status -> è il valore della tabella che intendiamo modificare per ogni post che rispetti le condizioni successivamente elencate. Dal momento che il nostro obiettivo è quello di disabilitare i commenti wordpress diremo al database di cambiare quel valore da open a closed.
WHERE -> letteralmente significa “dove” e serve ad introdurre le condizioni che andremo a definire subito dopo.
post_date < ‘2010-01-01’ AND post_status = ‘publish’ -> il nostro comando andrà a modificare solo i post la cui data di pubblicazione è inferiore all’ 1 Gennaio 2010 e il cui stato è “pubblicato”. Volendo possiamo però rimuovere tutte le condizioni (eliminando la porzione che va da WHERE fino alle fine) in modo da intervenire direttamente su tutti i post indipendentemente dal loro stato e data di pubblicazione.
Cancellare i commenti di spam
Nel caso in cui vogliate cancellare tutti i commenti contrassegnati come SPAM che vi si sonoaccumulati nel corso del tempo potete lanciare il seguente comando:
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';
Cancellare i commenti non approvati
Per cancellare i commenti non approvati invece eseguite la seguente query:
DELETE FROM wp_comments WHERE comment_approved = 0;