Redenumirea Tipurilor de Postări Personalizate și a Taxonomiilor

30 aug. 2010, 19:50:52
Vizualizări: 26.5K
Voturi: 35

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?

1
Comentarii

O întrebare de continuare în aceeași notă este legată de regulile personalizate de rescriere din .htaccess. Va exista o mulțime de reguli rămase care să înfunde baza mea de date? Nu am lansat încă site-ul, așa că nu am nevoie ca vechile linkuri să fie redirecționate.

Derek Perkins Derek Perkins
1 sept. 2010 08:43:40
Toate răspunsurile la întrebare 3
4
54

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.

30 aug. 2010 20:24:58
Comentarii

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.

Andy Giesler Andy Giesler
11 mar. 2011 22:06:50

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>')

rinogo rinogo
1 mar. 2013 22:44:14

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>');

David David
13 feb. 2014 07:49:41

doar să menționez că va trebui să fii atent la numele tabelelor când rulezi pe multisite

rmorse rmorse
21 mai 2014 23:02:09
2

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?

30 aug. 2010 21:50:41
Comentarii

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.

Derek Perkins Derek Perkins
1 sept. 2010 08:23:27

Acesta este un punct bun. Eu foloseam Advanced Custom Fields, iar pentru fiecare grup de câmpuri atașat la acea postare, trebuie să îl resetezi manual la noul nume CPT. După aceea, totul funcționează bine.

Chris Rae Chris Rae
11 dec. 2015 22:51:10
2

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ă.

31 aug. 2010 14:16:35
Comentarii

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.

Derek Perkins Derek Perkins
1 sept. 2010 08:24:39

acest lucru pare să convertească tipurile de postări, nu să le redenumească

vladkras vladkras
15 aug. 2015 15:49:09