Cum să elimini arhiva unui tip de postare personalizat
Am un tip de postare personalizat numit "recipe" cu parametrul has_archive
setat pe true. Când accesez mysite.com/recipe/ primesc o listă de arhivă de bază cu toate rețetele postate și un titlu de pagină "Recipes". Până aici totul bine.
Acum încerc să dezactivez acea pagină de arhivă pentru rețete (dar să păstrez funcționale linkurile individuale ale rețetelor). Prima mea idee a fost să încerc să setez has_archive
pe false, ceea ce părea că ar trebui să rezolve problema. Dar nu. Singura diferență pe care o face este că titlul paginii devine, din anumite motive, numele site-ului. Arhiva propriu-zisă este încă afișată.
Care este cea mai bună modalitate de a elimina complet acea arhivă? Există vreun parametru al funcției register_post_type
care să realizeze acest lucru sau este imposibil și trebuie să folosesc un șablon de pagină personalizat cu o redirecționare?
Mulțumesc.
Parametrul has_archive
pentru register_post_type()
face exact ceea ce vă așteptați. Cu toate acestea, acesta modifică regulile de rescriere atunci când este setat. Așadar, dacă îl setați la false
, va trebui să resetați regulile de rescriere pentru ca afișarea arhivei să fie eliminată complet.

Notă: acest lucru trebuie făcut doar o singură dată. O modalitate ușoară de a face acest lucru este, de exemplu, să vizitați Setări->Legături permanente și să resalvați setările curente. Aceasta va regenerea regulile de rescriere.

Rețineți că aceasta nu dezactivează efectiv arhivele; doar dezactivează URL-ul optimizat pentru accesarea lor (mysite.com/recipe/
în acest exemplu). Arhiva încă există și poate fi accesată la mysite.com/?post_type=recipe
atâta timp cât tipul de postare este public interogabil.
