Wraz z wydaniem WordPress 3.0 pojawiła się możliwość dodawania „Niestandardowych typów postów” do motywów WordPress, co jest bardzo cennym narzędziem, którego używałem w wielu utworzonych przeze mnie motywach WordPress. Do tej pory niestandardowe typy postów stały się niezwykle popularne i stosowane w prawie każdym motywie WordPress. Ale każdy, kto pracował z niestandardowymi typami postów, prawdopodobnie napotkał rerBłąd eadful 404 podczas próby uzyskania dostępu do postu z tego typu postu w tym lub innym miejscu. Na szczęście prawie zawsze istnieje prosta metoda naprawy tych błędów.


Poniżej wymieniłem niektóre z najczęstszych problemów związanych z niestandardowymi typami postów oraz przyczyny tych błędów. Mam nadzieję, że pomogą one przynajmniej kilku osobom.

1. Sprawdź ustawienia Permalink

Jest to prawdopodobnie jeden z najczęstszych powodów, dla których ludzie otrzymują błędy 404 w swoich niestandardowych typach postów, i radziłem sobie z tym wiele razy. Widziałem wiele poprawek, takich jak opróżnianie reguł przepisywania (których nie polecam), ale osobiście miałem szczęście z następującą po prostu poprawką:

Rozwiązanie:

  • Ustaw swoją niestandardową strukturę bezpośredniego łącza (np.% Postname%)
  • Kliknij Zapisz
  • Sprawdź, czy pojedyncze niestandardowe strony postów zwracają 404 strony błędów
  • Jeśli tak, wróć i zmień permalinki na domyślne i zapisz
  • Teraz spróbuj ponownie ustawić niestandardowy bezpośredni link i zapisz

Wracanie tam i z powrotem zwykle pomaga naprawić moje błędy i odniosłem duży sukces dzięki tej metodzie.

Teraz na niektórych serwerach, jeśli Twoje uprawnienia nie są ustawione poprawnie, może to nie działać i może być konieczne ręczne zaktualizowanie pliku .htaccess. Aby to zrobić, musisz zalogować się na swojej stronie za pośrednictwem FTP lub SFTP i przeglądarki do głównego katalogu WordPress (to samo miejsce, w którym znajduje się plik wp-config.php i folder wp-content). W tym miejscu powinieneś znaleźć plik o nazwie .htaccess, który możesz zmodyfikować (jeśli go nie widzisz, upewnij się, że Twój program FTP ma włączoną opcję wyświetlania ukrytych plików, a jeśli go nie ma, utwórz go). Teraz upewnij się, że plik zawiera podstawowy kod WordPress, jak wspomniano w Dokumenty WordPress, który wygląda następująco:

# ROZPOCZNIJ WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^ index \ .php $ - [L]
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
RewriteRule. /index.php [L]

# KONIEC WordPress

Ważny: Jeśli modyfikujesz istniejący plik .htaccess, najpierw wykonaj kopię zapasową pliku na komputerze, po prostu zrób bałagan.

2. Sprawdź, czy nie występują konflikty ślimaków (strona z takim samym ślimakiem jak typ postu)

Inną rzeczą, która może powodować błąd 404, jest to, że masz stronę główną, na której wyświetla się post z postem, i ma taki sam komunikat o pracy, jak twój typowy post. Na przykład, jeśli masz typ postu o nazwie „portfolio”, a także masz główną stronę „Portfolio”, na której znajdują się informacje o „portfolio” (innymi słowy, aby uzyskać dostęp do posta w portfolio, przejdź na stronę site.com/portfolio/sample- post) powoduje to konflikt powodujący błędy 404 w twoich pojedynczych postach typu post. Dlatego często okazuje się, że typ słupka portfela używa ślimaka „projekty” lub „element portfela” dla pojedynczego ślimaka.

Rozwiązanie:

  1. Możesz zmienić nazwę strony, aby była inna niż niestandardowy typ postu
  2. Możesz zmienić swój własny typ postu, który jest wykonywany przez zmianę parametru przepisywania kiedy rejestrowanie niestandardowego typu postu

3. Reguły przepisywania automatycznego przepłukiwania (dla programistów)

Inną przyczyną błędów 404 jest to, że po zarejestrowaniu nowego typu postu musisz „opróżnić” reguły przepisywania w WordPress. Można to zrobić, przechodząc do Ustawienia> Permalinki i klikając przycisk Zapisz (wspomniany w pierwszej części tego postu).

Jeśli pracujesz nad niestandardowym motywem lub wtyczką z zarejestrowanymi typami postów, możesz rozważyć automatyczne opróżnienie reguł przepisywania dla użytkownika końcowego, gdy aktywują one Twój motyw lub wtyczkę, aby zapobiec błędom 404. Poniżej znajduje się przykład kodu, którego możesz użyć:

// Kod motywów
add Działalności („after_switch_theme”, „flush_rewrite_rules”);

// Kod wtyczek
register_deactivation_hook (__FILE__, 'flush_rewrite_rules');
register_activation_hook (__FILE__, 'myplugin_flush_rewrites');
funkcja myplugin_flush_rewrites () {
// wywołaj tutaj swoją funkcję rejestracji CPT (należy ją również podłączyć do 'init')
myplugin_custom_post_types_registration ();
flush_rewrite_rules ();
}

Masz inny błąd lub rozwiązanie?

Jeśli masz inny błąd lub masz lepsze rozwiązanie, moje proszę skomentuj poniżej i daj mi znać. Nie tylko pomoże mi to, ale prawdopodobnie pomoże innym osobom szukającym rozwiązania ich problemu. Dzięki!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me