Paginile Custom Post Type sunt "negăsite"

16 sept. 2015, 16:03:38
Vizualizări: 63.5K
Voturi: 29

Am creat două tipuri noi de Custom Post folosind cod pe care l-am utilizat cu succes în alte proiecte fără probleme. Primul se numește top_charts, celălalt case_studies, și ambele apar corect în meniul de administrare și pot crea postări noi.

Din păcate, noile postări nu apar. Primesc doar un răspuns 404.php.

Am creat un archive-top_charts.php pentru a vedea dacă pot face să apară ceva, dar văd un răspuns 404.php "pagina nu a fost găsită".

Inițial am numit postările personalizate top-charts și case-studies, dar m-am gândit că cratima ar putea fi problema, așa că le-am redenumit folosind underscore în loc. Nu a ajutat.

Am încercat să salvez din nou Permalinks, dar nimic nu s-a schimbat. Pagina mea .htaccess arată așa cum te-ai aștepta (și alte pagini funcționează bine). Ce altceva pot verifica?

4
Comentarii

ai folosit flush_rewrite_rules( false ); în register post type? pentru mai multe detalii urmează acest link http://nooshu.com/page-not-found-with-custom-post-types

jas jas
16 sept. 2015 16:09:17

Mulțumesc. Asta a rezolvat linkul către postarea în sine, dar nu și pagina archive-top_charts.php. Ciudat!

Django Reinhardt Django Reinhardt
16 sept. 2015 16:15:09

Adaug doar o parte din răspuns care poate ajuta alți utilizatori și încearcă să cauți și arhiva.

jas jas
16 sept. 2015 16:18:23

am găsit răspunsul simplu la această eroare într-un alt post pe stack: Pagina de Legătură Permanentă a Tipului de Postare Personalizată Nu Este Găsită

dnll dnll
31 iul. 2017 14:21:06
Toate răspunsurile la întrebare 5
2
44

Nu este nevoie să editați codul PHP!

Deși puteți face acest lucru în funcția care înregistrează tipul personalizat de postare, ca în celelalte răspunsuri, puteți face acest lucru și din meniul de setări, evitând astfel să atingeți codul PHP:

Pentru a reseta regulile de rescriere sau permalinkurile WordPress (de obicei este necesar să faceți acest lucru manual pentru noile tipuri de postări personalizate) din Panou:

  1. În meniul principal, accesați "Setări > Permalinkuri".
  2. Derulați în jos dacă este necesar și faceți clic pe "Salvare modificări".
  3. Regulile de rescriere și permalinkurile vor fi resetate.

Este atât de simplu!

imagine a paginii de salvare a permalinkurilor referință

6 ian. 2017 20:23:34
Comentarii

Cred că aveam nevoie și de has_archive, dar e bine de știut că poți forța o reîmprospătare prin meniu.

Django Reinhardt Django Reinhardt
9 ian. 2017 13:44:31

Există vreo metodă de a salva automat modificările (actualizările) la permalink-uri în loc să mergi de fiecare dată la Setări > Permalink-uri când se adaugă o categorie/termen la CPT? Cum ar putea face acest lucru un non-admin dacă nu are acces la setări? Se poate apela un hook când se adaugă o nouă categorie pentru a reîmprospăta automat permalink-urile?

Ryan Coolwebs Ryan Coolwebs
2 iun. 2017 05:08:07
2
38

Pentru a rezolva problema postărilor personalizate care nu sunt găsite, folosește următorul cod în fișierul tău functions.php:

flush_rewrite_rules( false );

Acest lucru ar trebui făcut doar ca măsură temporară, altfel va rula la fiecare încărcare de pagină.

Pentru mai multe detalii, urmează acest link

În cazul în care archive-top_charts.php nu apare, asigură-te că ai 'has_archive' => true atunci când înregistrezi tipul tău de postare.

16 sept. 2015 16:18:27
Comentarii

minunat că ai găsit 'has_archive' :)

jas jas
16 sept. 2015 16:33:10

de ce încă funcționează? și de ce nu este aceasta o problemă în WordPress?

Cerveser Cerveser
4 sept. 2020 21:09:00
0

Îmi dau seama că este târziu (și poate nu este problema legată), dar am vrut să subliniez pentru alții o posibilă problemă.

În cazul meu, am setat rescrierea taxonomiei la "tools" și rescrierea tipului de conținut la același lucru. Prin urmare, nu a funcționat niciodată corect din cauza unui conflict. Din păcate, nu există nicio detectare pentru așa ceva, așa că am vrut doar să atrag atenția altora asupra acestui aspect.

25 mai 2019 04:45:07
0

Tocmai am adăugat această linie pentru regulile de rescriere, aceasta a fost motivul pentru mine. După ce am comentat sau eliminat-o, problema s-a rezolvat, dar poți să o lași și activată dacă dorești.

flush_rewrite_rules( true );
15 dec. 2020 16:57:46
1
-1

În cazul meu, a fost vorba de drepturi lipsă în folderul de dezvoltare, astfel încât fișierul .htaccess nu a putut fi creat sau modificat.

De aceea, flush-ul manual sau salvarea modificărilor în WP Permalinks nu a ajutat.

Soluția a fost să creez fișierul .htaccess manual.

4 ian. 2020 14:47:09
Comentarii

Am urmat metoda lui @David Salcer, am creat un fișier htaccess și apoi a funcționat.

ca hoang ca hoang
2 iun. 2023 06:57:09