Med utgivelsen av WordPress 3.0 kom muligheten til å legge til “Tilpassede innleggstyper” til WordPress-temaene dine, som er et veldig verdifullt verktøy og jeg har brukt i mange WordPress-temaer jeg har laget. Nå har tilpassede innleggstyper blitt ekstremt populære og brukt i nesten alle WordPress-temaer der ute. Men alle som har jobbet med tilpassede innleggstyper har sannsynligvis møtt dreadful 404 Fant ikke feil når du prøver å få tilgang til et innlegg fra innleggstypen på et eller annet tidspunkt. Heldigvis er det nesten alltid en enkel løsning for å fikse disse feilene.


Nedenfor har jeg listet opp noen av de mer vanlige problemene folk har med tilpassede innleggstyper, og hvorfor de kan få disse feilene. Forhåpentligvis vil de hjelpe minst noen få mennesker der ute.

1. Sjekk Permalink-innstillingene

Dette er sannsynligvis en av de vanligste grunnene til at folk får 404 feil på sine tilpassede innleggstyper, og jeg har taklet det mange ganger. Jeg har sett mange rettelser der ute, som å spyle omskrivereglene (som jeg ikke anbefaler), men personlig har jeg hatt lykke til med følgende rettelse:

Løsning:

  • Angi din tilpassede permalinkstruktur (for eksempel% postname%)
  • Klikk Lagre
  • Se om de enkelte tilpassede postsidene dine returnerer 404 feilsider
  • Hvis de gjør det, gå tilbake og endre permalinks tilbake til standard og lagre
  • Prøv nå å sette den tilpassede permalinken igjen og lagre

Å gå frem og tilbake har normalt bidratt til å fikse feilene mine, og jeg har hatt mye suksess med denne metoden.

Nå, på noen servere hvis tillatelsene ikke er riktig angitt, kan det hende at dette ikke fungerer, og du må kanskje oppdatere .htaccess-filen din manuelt. For å gjøre dette må du logge deg på nettstedet ditt via FTP eller SFTP og nettleser til root WordPress-katalogen din (samme sted hvor wp-config.php-filen og wp-innhold-mappen ligger). Her bør du finne en fil som heter .htaccess som du kan endre (hvis du ikke ser den, sørg for at FTP-programmet ditt har muligheten til å vise skjulte filer aktivert, og hvis det ganske enkelt ikke er det, kan du opprette en). Forsikre deg nå om at filen inneholder kjerne WordPress-koden som nevnt i WordPress-dokumenter, som ser slik ut:

# BEGIN WordPress

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

# SLUTT WordPress

Viktig: Hvis du modifiserer en eksisterende .htaccess-fil, må du sørge for å sikkerhetskopiere filen på datamaskinen din, bare hvis du roter noe.

2. Kontroller om det er sneglekonflikter (har en side med samme snegle som posttypen din)

En annen ting som kan forårsake en 404-feil, er at du har en hovedside som viser innleggstypen din, og den har den samme sneglen som den faktiske singulære sneglen. For eksempel hvis du har en posttype som heter “portefølje”, og du også har en hoved “Portfolio” -side begge med slug “portfolio” (med andre ord for å få tilgang til en porteføljepost, vil du gå til site.com/portfolio/sample- innlegg) dette skaper en konflikt som forårsaker 404 feil på postene i entall typen. Det er grunnen til at du ofte opplever at porteføljeposttypen bruker slug “prosjekter” eller “portefølje-element” for entallsluggen.

Løsning:

  1. Du kan endre sidenavnet slik at det er annerledes enn den tilpassede innleggstypen
  2. Du kan endre din tilpassede innleggstypesnegle som gjøres ved å endre omskrivingsparameteren når registrere din tilpassede innleggstype

3. Auto Flush Rewrite-regler (for utviklere)

En annen årsak til 404 feil er når du registrerer en ny innleggstype, du må “spyle” omskrivereglene dine i WordPress. Dette kan gjøres ved å gå til Innstillinger> Permalinks og klikke på lagre-knappen (nevnt i den første delen av dette innlegget).

Hvis du jobber med et tilpasset tema eller plugin med registrerte innleggstyper, kan det være lurt å vurdere å automatisk spyle omskrivereglene for sluttbrukeren når de aktiverer temaet eller plugin-en for å forhindre 404-feil. Nedenfor er et eksempel på koden du kan bruke:

// Kode for temaer
add_action ('after_switch_theme', 'flush_rewrite_rules');

// Kode for plugins
register_deactivation_hook (__FILE__, 'flush_rewrite_rules');
register_activation_hook (__FILE__, 'myplugin_flush_rewrites');
funksjon myplugin_flush_rewrites () {
// ring CPT-registreringsfunksjonen din her (den bør også kobles til 'init')
myplugin_custom_post_types_registration ();
flush_rewrite_rules ();
}

Har en annen feil eller løsning?

Hvis du har en annen feil, eller hvis du har en bedre løsning, kan du kommentere meg nedenfor. Ikke bare vil det hjelpe meg, men det vil sannsynligvis hjelpe andre mennesker som leter etter en løsning på problemet. Takk!

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