Eroare 404 Pe Paginile de Categorii și Etichete

2 feb. 2018, 08:41:37
Vizualizări: 30K
Voturi: 8

Ok, mă confrunt cu o problemă ciudată deoarece primesc erori 404 pe paginile de categorii și etichete ale blogului. Folosesc o temă personalizată care include:

  • tag.php
  • category.php
  • archive.php
  • home.php
  • index.php și
  • 404.php.

Arhiva blogului funcționează bine, dar când încerc să încarc paginile de etichete sau categorii sunt redirecționat către fișierul șablon 404.php.

De asemenea, există o altă problemă ciudată cu care mă confrunt: dacă elimin fișierul 404.php din directorul temei mele, link-urile către categorii și etichete funcționează corect și încarcă conținut din archive.php, dar afișează "pagină negăsită" în titlul paginii și clasa error404 este adăugată în interiorul tag-ului body al acelei pagini.

Iată lista elementelor pe care le-am încercat până acum pentru a rezolva problema:

  1. Am reîmprospătat Structura Permalink-urilor.
  2. Am aplicat Baza pentru Categorii și Etichete.
  3. Am schimbat tema cu twentyseventeen în care totul era în regulă
  4. Tot codul din fișierele mele header.php și footer.php urmează ghidurile temei WordPress.

Vă rog să-mi sugerați o soluție care ar putea ajuta la rezolvarea acestei probleme, având în vedere că funcționează bine fără 404.php. Blogurile și Categoriile de pe website sunt importate de pe alt website folosind importatorul WordPress.

Actualizare Întrebare: De ce WordPress redirecționează către 404.php chiar dacă fișierele category.php, archive.php și index.php sunt prezente în directorul temei WordPress pe paginile de categorii sau etichete??

6
Comentarii

aceasta este o problemă legată de tema sau pluginurile tale. Este puțin probabil ca cineva de aici să poată ghici ce este în neregulă. Trebuie să depanezi efectiv ce se întâmplă în șabloanele tale pentru categorii/taguri și de ce se face redirecționarea (dacă este vorba despre o redirecționare și nu doar o simplă încărcare).

Mark Kaplun Mark Kaplun
2 feb. 2018 08:56:21

Bună Mark, am dezactivat toate pluginurile și funcționează dacă schimb tema sau elimin fișierul 404.php. Dar dacă elimin fișierul 404, afișează eroare în titlul WordPress, dar arată toate articolele legate de categorie sau tag. De aceea este ciudat și nu înțeleg cum să rezolv problema, deoarece am nevoie de fișierul 404.php în tema mea.

Vatsh Patel Vatsh Patel
2 feb. 2018 09:29:46

deci este o problemă cu tema ta, fără a vedea codul acesteia va fi greu să știm cauza

Mark Kaplun Mark Kaplun
2 feb. 2018 09:31:09

Tot codul din header și footer apelează funcții de bază WordPress precum wp_head, wp_footer și wp_nav_menu. Nu sunt apelate funcții suplimentare. De asemenea, conform wp codex, ar trebui să utilizeze fișierul șablon category.php, așa că poate fi o problemă în WordPress 4.9, deoarece am actualizat WordPress imediat după instalare.

Vatsh Patel Vatsh Patel
2 feb. 2018 09:35:21

Vedeți șablonul 404 deoarece cererile rezultă într-o eroare 404. Dacă 404.php nu este prezent, atunci revine la utilizarea șablonului index.php. Vizitați o etichetă sau o categorie care conține postări? Dacă da, atunci aveți cod undeva în tema dvs. care modifică interogarea principală, rezultând în nici o postare returnată.

Milo Milo
3 feb. 2018 06:12:44

Mulțumesc pentru sugestie, Milo, voi analiza acum fiecare fișier din tema mea pentru a rezolva această problemă, deoarece există cu siguranță o problemă cu codul meu sau cu structura temei.

Vatsh Patel Vatsh Patel
3 feb. 2018 06:57:39
Arată celelalte 1 comentarii
Toate răspunsurile la întrebare 4
1

Știu că aceasta este o întrebare veche, dar am avut aceeași problemă într-o temă pe care am moștenit-o și am dat peste această întrebare în căutarea mea pentru răspunsuri.

În cazul meu particular, am găsit următorul cod PHP inclus în fișierul function.php al temei:

if( is_category() || is_date() || is_author() ) {
   global $wp_query;
   $wp_query->set_404(); //setează pagina ca fiind 404 - negăsită
}

Acest cod redirecționează orice pagină de arhivă pentru categorii, date sau autori către o eroare 404 (care afișează șablonul tău de temă pentru 404). Poate doriți să căutați ceva similar în tema voastră (presupunând că nu ați descoperit deja acest lucru).

20 mar. 2020 20:13:46
Comentarii

În cazul meu, problema nu a fost tema, ci acest plugin https://wordpress.org/plugins/smart-archive-page-remove instalat de cineva. Răspunsul tău m-a ajutat totuși să identific problema

Vinay Vinay
10 aug. 2020 15:13:22
1

te rog să setezi permalinkurile

setează permalinkurile în WordPress

apoi verifică în URL-ul categoriei și al etichetei

2 feb. 2018 09:03:15
Comentarii

Bună Dharmishtha, te rog să citești din nou întrebarea, am încercat deja asta

Vatsh Patel Vatsh Patel
2 feb. 2018 09:27:28
0

Am avut aceeași problemă. Totuși, am adăugat următorul cod în fișierul functions.php (mulțumită: wpbeginner.com) pentru a-mi afișa postările personalizate în categorii. WordPress nu afișează nicio postare personalizată în categorii până când nu adăugăm următorul filtru.

add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
  if( is_category() ) {
    $post_type = get_query_var('post_type');
    if($post_type)
        $post_type = $post_type;
    else
        $post_type = array('nav_menu_item', 'post', 'your_post_type_name'); // nu uita de nav_menu_item pentru a permite funcționarea meniurilor!
    $query->set('post_type',$post_type);
    return $query;
    }
}
3 nov. 2019 23:09:29
7
-2

Accesează panoul de administrare WordPress urmând calea Setări > Legături permanente. Asigură-te că baza pentru categorii este "category" iar pentru etichete este "tag" (cu excepția cazului în ai niște setări speciale neobișnuite) și apasă butonul "Salvează modificările" chiar dacă nu ai schimbat nimic. Apăsarea acestui buton poate rezolva problemele cu afișarea paginilor de categorii și etichete.

Nu uita să cureți cache-ul WordPress pentru testare.

2 feb. 2018 08:59:30
Comentarii

Bună Vishal, te rog să citești întrebarea din nou, am încercat deja asta.

Vatsh Patel Vatsh Patel
2 feb. 2018 09:28:07

Poți să îmi dai link-ul tău de website ca să pot verifica?

vishalprajapati13 vishalprajapati13
2 feb. 2018 09:39:15

macrisondev.com.au

Vatsh Patel Vatsh Patel
2 feb. 2018 09:40:07

Am verificat în consolă și am găsit o eroare. "Uncaught TypeError: Cannot read property 'getContext' of null" Poți să închizi corect marcajul canvas, te rog?

vishalprajapati13 vishalprajapati13
2 feb. 2018 10:00:13

Da, am observat și eu asta, dar partial-ul canvas a fost apelat doar în fișierul frontpage.php și nu îl apelăm în altă parte pe site. În plus, întregul DOM HTML nu se încarcă, ci este redirecționat către pagina 404.php

Vatsh Patel Vatsh Patel
2 feb. 2018 10:01:47

Poți să-mi trimiți credențialele de wp-admin pe email, te rog?

vishalprajapati13 vishalprajapati13
2 feb. 2018 10:11:01

Îmi pare rău prietene, nu pot face asta. Dar îți pot arăta codul. Spune-mi ce vrei să vezi.

Vatsh Patel Vatsh Patel
2 feb. 2018 10:11:46
Arată celelalte 2 comentarii