Come deselezionare in blocco una categoria per i post senza plugin
Pubblicato: 2020-10-05"Categoria" è una tassonomia predefinita in WordPress. Gli operatori possono utilizzare le categorie per ordinare e raggruppare i post del blog in diverse sezioni. Le categorie aiutano anche i visitatori a navigare più velocemente nei siti, oltre a sapere di quali argomenti trattano i tuoi siti web. Un operatore di un sito Web può implementare operazioni di base con categorie e post con i pannelli di amministrazione di WordPress, nonché utilizzare i plug-in di WordPress per manipolare i post in modi diversi.
- 1. Capire come WordPress gestisce le richieste Web dei clienti?
- 2. Tabelle importanti per la manipolazione in blocco dei post di WordPress
- 3. Sposta tutti i post da una categoria a un'altra categoria – Usando i comandi SQL
- 3.1. Ottieni un elenco ID di tutti i post che appartengono a una categoria specifica
- 3.2. Ottieni un ID della Nuova Categoria
- 3.3. Aggiorna i post con elenchi di ID dati
- 4. Ultime parole
Tuttavia, l'uso eccessivo dei plug-in per i siti WordPress non dovrebbe essere un'opzione poiché probabilmente causa potenziali problemi di prestazioni e problemi di sicurezza. In questo articolo, impariamo come deselezionare in blocco una categoria per i post senza utilizzare i plug-in .
Capire come WordPress gestisce le richieste Web dai client?
Capire come un server web gestisce una richiesta da un client è necessario per manipolare il sito WordPress. Le operazioni dettagliate includono la deselezione in blocco dei post in una categoria.
Il tipico web server è lo stack LAMP (Linux – Apache – MySQL/MariaDB – PHP). Altri concetti equivalenti possono essere trovati in altre piattaforme di server web.

LAMP impila la comunicazione server-client
1. Il client invia richieste HTTP per richiedere dati web dal server web.
2. Il server web riceve richieste HTTP valide dai client (dopo aver superato le regole del firewall):
- Analizzare la struttura delle richieste HTTP, identificare esattamente di quali pagine HTML hanno bisogno i client;
- Analisi delle richieste ai livelli di scripting (PHP).
3. I livelli di scripting PHP:
- Interrogare il database, ottenere tutte le informazioni necessarie;
- Combina con il codice sorgente nei temi per rendere le pagine web dinamiche;
- Torna al server web.
4. Il server web:
- Costruisci messaggi di risposta HTTP.
- Invia messaggi di risposta HTTP ai client.
5. Il client riceve messaggi di risposta HTTP dal server web, quindi visualizza i dati web nei suoi browser web.
Tabelle importanti per la manipolazione in blocco dei post di WordPress
C'è un pacchetto di tabelle nello schema del database dei siti WordPress. Gli schemi variano da sito a sito. Tuttavia, quando si manipolano i post del sito WordPress, queste tabelle dovrebbero essere maggiormente preoccupate:
| Nome della tabella | Descrizioni |
wp_postmeta | Memorizza ulteriori dati relativi ai contenuti di un sito WordPress. |
wp_post | Memorizza tutti i dati importanti relativi ai contenuti di un sito WordPress. |
wp_term_relationships | Memorizza tutti i dati di congiunzione che collegano i post a categorie, tag, collegamenti. Le informazioni di questa tabella fungono da mappa tra i termini oggetti e i termini. |
wp_term_taxonomy | Memorizza dati aggiuntivi per wp_terms tabelle wp_terms . |
wp_term | Memorizza categorie, tag per post, pagine e link. |
Sposta tutti i post da una categoria a un'altra categoria – Usando i comandi SQL
Per manipolare direttamente il database di WordPress, gli operatori devono decidere quale DBMS (Database Management System) utilizzare. Poiché l'ambiente di laboratorio utilizza lo stack LAMP come piattaforma web, gli operatori possono lavorare con i database WordPress utilizzando phpMyAdmin, plugin WordPress, persino client MySQL (comando terminale) tramite sessioni SSH... In questo scenario, il DBMS è MySQL WorkBench per una migliore illustrazione.
Prima di implementare qualsiasi modifica nei database di WordPress, è consigliabile eseguire un backup completo del sito WordPress. Questo backup completo include il codice sorgente di WordPress (temi, file PHP...) e la struttura del database. Per scopi ideali, gli operatori possono creare un backup completo dell'intero host che esegue il sito WordPress.

Ecco gli script SQL completi per spostare tutti i post dalla categoria "Non categorizzato" alla categoria "Ispirazioni".
SET @IDlista = (
SELECT GROUP_CONCAT(ID) FROM wp_posts
DOVE post_type="post"
AND post_status = "pubblica"
E ID IN (
SELEZIONA object_id DA wp_term_relationships
WHERE term_taxonomy_id IN (
SELECT term_taxonomy_id FROM wp_term_taxonomy
WHERE tassonomia = "categoria"
AND term_id IN (
SELEZIONA t.term_id DA wp_terms t
WHERE t.name="Senza categoria"
)
)
)
);
SET @newCategoryID = (
SELECT t.term_id FROM wp_terms t WHERE t.name='Ispirazioni'
);
SELECT @newCategoryID;
set @sqlCmd = CONCAT(
'AGGIORNAMENTO wp_term_relationships tr',
'SET tr.term_taxonomy_id = ', @newCategoryID , ' ',
'WHERE tr.object_id IN (', @listID , ');'
);
SELEZIONA @sqlCmd;
PREPARE stmt FROM @sqlCmd;
SET SQL_SAFE_UPDATES = 0;
ESEGUI stmt;
SET SQL_SAFE_UPDATES = 1;
DEALLOCARE PREPARARE stmt;Lo script dettagliato verrà spiegato come segue.
Ottieni un elenco ID di tutti i post che appartengono a una categoria specifica
In questa demo, dimostreremo come deselezionare in blocco tutti i post dalla categoria "Non categorizzato", quindi spostarli in una nuova categoria denominata "Ispirazioni".
Dal pannello di amministrazione di WordPress, questi 3 post sono ordinati nella categoria "Non categorizzato".

I comandi SQL di seguito recupereranno tutti gli ID dei post di una categoria denominata "Non categorizzato".
SET @IDlista = (
SELECT GROUP_CONCAT(ID) FROM wp_posts
DOVE post_type="post"
AND post_status = "pubblica"
E ID IN (
SELEZIONA object_id DA wp_term_relationships
WHERE term_taxonomy_id IN (
SELECT term_taxonomy_id FROM wp_term_taxonomy
WHERE tassonomia = "categoria"
AND term_id IN (
SELEZIONA t.term_id DA wp_terms t
WHERE t.name="Senza categoria"
)
)
)
); Verifica il valore di @listID :

Ottieni un ID della Nuova Categoria
SET @newCategoryID = (
SELECT t.term_id FROM wp_terms t WHERE t.name='Ispirazioni'
); Verifica il valore di @newCategoryID :

Aggiorna i post con elenchi di ID dati
Innanzitutto, crea un comando SQL e memorizzalo in una variabile @sqlCmd .
/* Comando previsto memorizzato nella variabile @sqlCmd:
AGGIORNAMENTO wp_term_relationships
SET tr.term_taxonomy_id = 5
DOVE tr.object_id IN (131,132,133);
*/
set @sqlCmd = CONCAT(
'AGGIORNAMENTO wp_term_relationships tr',
'SET tr.term_taxonomy_id = ', @newCategoryID , ' ',
'WHERE tr.object_id IN (', @listID , ');'
);Secondo, verificalo:

Infine, @sqlCmd i comandi SQL memorizzati nella variabile @sqlCmd con le istruzioni seguenti:
PREPARE stmt FROM @sqlCmd; SET SQL_SAFE_UPDATES = 0; ESEGUI stmt; SET SQL_SAFE_UPDATES = 1; DEALLOCARE PREPARARE stmt;
Ecco il risultato:

Ultime parole
Esistono vari modi per deselezionare in blocco una categoria per i post nei siti WordPress. Usando i plugin per interagire tramite un'interfaccia web, o usando i comandi SQL per avere un impatto diretto sul database di WordPress, gli operatori dovrebbero capire quali sono gli oggetti essenziali che vengono modificati.
Si spera che questo articolo ti offra un'altra scelta per deselezionare in blocco una categoria per i post. Per ottenere tecniche più utili in WordPress, seguiamo i nostri prossimi articoli!
Se desideri utilizzare un plug-in per deselezionare in blocco una categoria per i post più facilmente, fai riferimento a questo articolo.
