Cum să deselectați în bloc o categorie pentru postări fără plugin
Publicat: 2020-10-05„Categorie” este o taxonomie implicită în WordPress. Operatorii pot folosi categorii pentru a sorta și grupa postările de blog în diferite secțiuni. Categoriile ajută, de asemenea, vizitatorii să navigheze mai rapid pe site-uri, precum și să știe despre ce subiecte sunt site-urile dvs. Un operator de site web poate implementa operațiuni de bază cu categorii și postări cu panouri de administrare WordPress, precum și folosind pluginuri WordPress pentru a manipula postările în moduri diferite.
- 1. Înțelegeți cum gestionează WordPress solicitările web de la clienți?
- 2. Tabele importante pentru manipularea în bloc a postărilor WordPress
- 3. Mutați toate postările dintr-o categorie în altă categorie – folosind comenzi SQL
- 3.1. Obțineți o listă de identificare a tuturor postărilor aparținând unei anumite categorii
- 3.2. Obțineți un ID al noii categorii
- 3.3. Actualizați postările cu liste de identificare date
- 4. Ultimele cuvinte
Cu toate acestea, utilizarea excesivă a pluginurilor pentru site-urile WordPress nu ar trebui să fie o opțiune, deoarece probabil cauzează probleme potențiale de performanță și probleme de securitate. În acest articol, să învățăm cum să deselectăm în bloc o categorie pentru postări fără a utiliza pluginuri .
Înțelegeți cum gestionează WordPress solicitările web de la clienți?
Înțelegerea modului în care un server web gestionează o solicitare de la un client este necesară pentru a manipula site-ul WordPress. Operațiunile detaliate includ deselectarea în bloc a postărilor dintr-o categorie.
Serverul web tipic este stiva LAMP (Linux – Apache – MySQL/MariaDB – PHP). Alte concepte echivalente pot fi găsite în alte platforme de server web.

LAMP stivuiește comunicarea server-client
1. Clientul trimite cereri HTTP pentru a cere date web de la serverul web.
2. Serverul web primește solicitări HTTP valide de la clienți (după trecerea regulilor firewall):
- Analizați structura solicitărilor HTTP, identificați exact ce pagini HTML au nevoie clienții;
- Analizarea cererilor către straturile de scripting (PHP).
3. Straturile de scripting PHP:
- Interogarea în baza de date, obținerea tuturor informațiilor necesare;
- Combinați cu codul sursă în teme pentru a reda pagini web dinamice;
- Reveniți la serverul web.
4. Serverul web:
- Construiți mesaje de răspuns HTTP.
- Trimiteți mesaje de răspuns HTTP către clienți.
5. Clientul primește mesaje de răspuns HTTP de la serverul web, apoi afișează datele web în browserele sale web.
Tabele importante pentru manipularea în bloc a postărilor WordPress
Există un pachet de tabele în schema bazei de date a site-urilor WordPress. Schemele variază de la un site la altul. Cu toate acestea, atunci când manipulați postările site-ului WordPress, aceste tabele ar trebui să fie mai preocupate:
| Numele tabelului | Descrieri |
wp_postmeta | Stocați date suplimentare legate de conținut ale unui site WordPress. |
wp_post | Stocați toate datele importante legate de conținut ale unui site WordPress. |
wp_term_relationships | Stocați toate datele de conjuncție care conectează postările la categorii, etichete, link-uri. Informațiile din acest tabel acționează ca o hartă între termenii obiecte și termeni. |
wp_term_taxonomy | Stocați date suplimentare pentru tabelele wp_terms . |
wp_term | Stocați categorii, etichete pentru postări, pagini și link-uri. |
Mutați toate postările dintr-o categorie în altă categorie - folosind comenzi SQL
Pentru a manipula direct baza de date WordPress, operatorii trebuie să decidă ce DBMS (Sistem de management al bazelor de date) să folosească. Deoarece mediul de laborator folosește stiva LAMP ca platformă web, operatorii pot lucra cu baze de date WordPress folosind phpMyAdmin, pluginuri WordPress, chiar și client MySQL (comandă terminală) prin sesiuni SSH... În acest scenariu, DBMS este MySQL WorkBench pentru un scop ilustrativ mai bun.
Înainte de a implementa orice modificare în bazele de date WordPress, este recomandabil să aveți o copie de rezervă completă a site-ului WordPress. Această copie de rezervă completă include codul sursă WordPress (teme, fișiere PHP...) și structura bazei de date. În scopuri ideale, operatorii pot crea o copie de rezervă completă a întregii gazde care rulează site-ul WordPress.

Iată scripturile SQL complete pentru a muta toate postările din categoria „Necategorizat” în categoria „Inspirații”.
SET @listID = (
SELECTAȚI GROUP_CONCAT(ID) FROM wp_posts
WHERE post_type="post"
AND post_status = "publicare"
SI ID IN (
SELECTează object_id FROM wp_term_relationships
WHERE term_taxonomy_id IN (
SELECTAȚI term_taxonomy_id FROM wp_term_taxonomy
WHERE taxonomy = „categorie”
AND term_id IN (
SELECTAȚI t.term_id FROM wp_terms t
WHERE t.name="Necategorizat"
)
)
)
);
SET @newCategoryID = (
SELECTAȚI t.term_id FROM wp_terms t WHERE t.name='Inspirations'
);
SELECT @newCategoryID;
set @sqlCmd = CONCAT(
„UPDATE wp_term_relationships tr”,
'SET tr.term_taxonomy_id = ', @newCategoryID , ' ',
'WHERE tr.object_id IN (', @listID , ');'
);
SELECT @sqlCmd;
PREPARA stmt FROM @sqlCmd;
SETARE SQL_SAFE_UPDATES = 0;
EXECUTE stmt;
SETARE SQL_SAFE_UPDATES = 1;
DEALLOCATE PREPARE stmt;Scriptul detaliat va fi explicat după cum urmează.
Obțineți o listă de identificare a tuturor postărilor aparținând unei anumite categorii
În această demonstrație, vom demonstra cum să deselectăm în bloc toate postările din categoria „Necategorizate”, apoi să le mutam într-o nouă categorie numită „Inspirații”.
Din panoul de administrare WordPress, aceste 3 postări sunt sortate în categoria „Necategorizat”.

Comenzile SQL de mai jos vor prelua toate ID-urile postărilor dintr-o categorie numită „Necategorizat”.
SET @listID = (
SELECTAȚI GROUP_CONCAT(ID) FROM wp_posts
WHERE post_type="post"
AND post_status = "publicare"
SI ID IN (
SELECTează object_id FROM wp_term_relationships
WHERE term_taxonomy_id IN (
SELECTAȚI term_taxonomy_id FROM wp_term_taxonomy
WHERE taxonomy = „categorie”
AND term_id IN (
SELECTAȚI t.term_id FROM wp_terms t
WHERE t.name="Necategorizat"
)
)
)
); Verificați valoarea @listID :

Obțineți un ID al noii categorii
SET @newCategoryID = (
SELECTAȚI t.term_id FROM wp_terms t WHERE t.name='Inspirations'
); Verificați valoarea @newCategoryID :

Actualizați postările cu liste de identificare date
Mai întâi, construiți o comandă SQL și stocați-o într-o variabilă @sqlCmd .
/* Comandă așteptată stocată în variabila @sqlCmd:
UPDATE wp_term_relationships tr
SET tr.term_taxonomy_id = 5
WHERE tr.object_id IN (131,132,133);
*/
set @sqlCmd = CONCAT(
„UPDATE wp_term_relationships tr”,
'SET tr.term_taxonomy_id = ', @newCategoryID , ' ',
'WHERE tr.object_id IN (', @listID , ');'
);În al doilea rând, verifică:

În cele din urmă, lansați comenzile SQL stocate în variabila @sqlCmd cu instrucțiunile de mai jos:
PREPARA stmt FROM @sqlCmd; SETARE SQL_SAFE_UPDATES = 0; EXECUTE stmt; SETARE SQL_SAFE_UPDATES = 1; DEALLOCATE PREPARE stmt;
Iată rezultatul:

Ultimele Cuvinte
Există diferite moduri de a deselecta în bloc o categorie pentru postări de pe site-urile WordPress. Fie folosind plugin-uri pentru a interacționa printr-o interfață web, fie folosind comenzi SQL pentru a avea un impact direct asupra bazei de date WordPress, operatorii ar trebui să înțeleagă care sunt obiectele esențiale care sunt modificate.
Sperăm că acest articol vă oferă încă o opțiune de a deselecta în bloc o categorie pentru postări. Pentru a obține mai multe tehnici utile în WordPress, haideți să urmărim articolele noastre viitoare!
Dacă doriți să utilizați un plugin pentru a deselecta mai ușor o categorie pentru postări, consultați acest articol.
