Redenumirea Tipurilor de Postări Personalizate și a Taxonomiilor
Am început să dezvolt un site cu peste o duzină de tipuri de postări personalizate. Aș dori să redenumesc câteva dintre ele, nu doar valoarea afișată, ci numele efectiv al tipului de postare personalizat. Totuși, sunt îngrijorat că doar rulând o interogare de actualizare SQL voi rata unele locuri unde trebuie să schimb lucrurile sau voi suprascrie o parte din datele serializate. Am introdus deja peste 3.000 de elemente, așa că nu pot să încep din nou cu o bază de date curată.
Care ar fi cea mai bună modalitate de a redenumi un tip de postare personalizat? Dar cum se procedează pentru redenumirea unei taxonomii?

Interogare SQL pentru redenumirea postărilor:
UPDATE `wp_posts` SET `post_type` = '<new post type name>' WHERE `post_type` = '<old post type name>';
Interogare SQL pentru redenumirea taxonomiei:
UPDATE `wp_term_taxonomy` SET `taxonomy` = '<new taxonomy name>' WHERE `taxonomy` = '<old taxonomy name>';
Aceasta ar trebui să se ocupe de toate zonele din baza de date. Doar nu uitați să potriviți noile denumiri în codul unde sunt înregistrate tipurile de postări sau taxonomiile. Din câte știu eu, acest lucru nu este gestionat încă de niciun plugin.

Răspuns excelent, exact ce aveam nevoie. Iată un sfat în cazul în care alții întâmpină aceeași problemă ca mine: După ce am rulat interogarea și am actualizat codul meu, lucrurile funcționau în principiu, dar când am încercat să accesez pagina pentru un element individual de conținut, am primit o eroare 404. Cred că a fost nevoie să resetez un cache de permalinkuri; am mers la Instrumente > Permalinkuri și am dat click pe Salvare, după care paginile detaliate au început să funcționeze.

Când am făcut acest lucru, am actualizat și câmpul guid. Acest lucru ar putea ajuta la a face inutilă regenerarea permalinkurilor, așa cum a menționat @AndyGiesler. Doar includeți următoarea instrucțiune în declarația voastră UPDATE: guid=REPLACE(guid, '<numele vechi al tipului de postare>', '<numele nou al tipului de postare>')

Doar pentru a adăuga puțin mai multe informații la comentariul lui rinogo, aceasta este o metodă puțin mai sigură de a actualiza guid: UPDATE wp_posts SET guid = REPLACE (guid, 'post_type=<numele vechi al tipului de postare>', 'post_type=<numele nou al tipului de postare>');

Salut @Derek Perkins:
În general, răspunsul lui @John P Bloch este corect, dar cu o mențiune. Plugin-urile și chiar temele personalizate pot stoca informații despre tipurile de articole (post types), așadar, pentru a te asigura că nu corupi datele, trebuie să verifici dacă plugin-urile și temele tale nu stochează tipuri de articole sau, dacă o fac, să actualizezi și datele acestora.
Poți să ne spui ce plugin-uri folosești?

Este un punct bun. Îmi construiesc tema personalizată, așa că cu siguranță va trebui să trec prin cod și să îl modific. Totuși, nu am niciun plugin care să stocheze informații despre tipurile personalizate de postări.

Dacă nu doriți să efectuați manual interogările SQL, există câteva plugin-uri pe care le puteți utiliza:
Am folosit cu succes Convert Post Types pentru a schimba în masă tipurile de articole.
Pentru conversia articolelor individuale, Post Type Switcher este o opțiune mai bună.

Mulțumesc pentru postarea acestor linkuri. Sunt în regulă cu rularea interogărilor SQL singur, dar cu siguranță vor fi utile pentru alții care vor da peste această postare.
