Sådan rettes tilpassede posttype 404-fejl i WordPress

Med udgivelsen af ​​WordPress 3.0 kom muligheden for at tilføje “Custom Post Types” til dine WordPress-temaer, hvilket er et meget værdifuldt værktøj, og jeg har brugt i mange WordPress-temaer, jeg har oprettet. I øjeblikket er tilpassede indlægstyper blevet ekstremt populære og bruges i næsten ethvert WordPress-tema derude. Men enhver, der har arbejdet med tilpassede indlægstyper, har sandsynligvis stødt på dreadful 404 Ikke fundet fejl når du prøver at få adgang til et indlæg fra posttypen på et eller andet tidspunkt. Heldigvis er der næsten altid en enkel løsning til at løse disse fejl.


Nedenfor har jeg anført nogle af de mere almindelige problemer, folk har med tilpassede posttyper, og hvorfor de muligvis modtager disse fejl. Forhåbentlig hjælper de mindst et par mennesker derude.

1. Kontroller dine Permalink-indstillinger

Dette er sandsynligvis en af ​​de mest almindelige grunde til, at folk får 404 fejl på deres tilpassede indlægstyper, og jeg har behandlet det mange gange. Jeg har set mange rettelser derude, såsom at skylle omskrivningsreglerne (som jeg ikke anbefaler), men personligt har jeg haft held og lykke med følgende simpelt rettelse:

Opløsning:

  • Indstil din brugerdefinerede permalinkstruktur (såsom% postnavn%)
  • Klik på Gem
  • Se, om dine enkelt tilpassede indlægssider returnerer 404-fejlside
  • Hvis de gør det, skal du gå tilbage og ændre permalinks tilbage til standard og gemme
  • Prøv nu at indstille den tilpassede permalink igen og gem

At gå frem og tilbage har normalt været med til at løse mine fejl, og jeg har haft en stor succes med denne metode.

På nogle servere, hvis dine tilladelser ikke er indstillet korrekt, fungerer dette muligvis ikke, og du skal muligvis opdatere din .htaccess-fil manuelt. For at gøre dette skal du logge ind på dit sted via FTP eller SFTP og browser til dit root WordPress-bibliotek (samme sted hvor din wp-config.php-fil og wp-indholdsmappe er placeret). Her skal du finde en fil med navnet .htaccess, som du kan ændre (hvis du ikke kan se den, skal du sørge for, at dit FTP-program har muligheden for at vise skjulte filer aktiveret, og hvis der ganske enkelt ikke er en, så opret en). Sørg nu for at filen indeholder den centrale WordPress-kode som nævnt i WordPress-dokumenter, der ser sådan ud:

# BEGIN WordPress

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

# END WordPress

Vigtig: Hvis du ændrer en eksisterende .htaccess-fil, skal du sørge for at tage sikkerhedskopi af filen på din computer først, bare inkassere du rod noget.

2. Kontroller for sneglekonflikter (med en side med den samme snegle som din posttype)

En anden ting, der kan forårsage en 404-fejl, er, at du har en hovedside, der viser dit posttypeindlæg, og det har den samme slug som din faktiske posttype, entallig slug. For eksempel, hvis du har en posttype, der hedder “portfolio”, og du også har en hoved “Portfolio” -side begge med slug-“portfolio” (med andre ord for at få adgang til en portfolio-post, vil du gå til site.com/portfolio/sample- indlæg) dette skaber en konflikt, der forårsager 404 fejl på dine enkeltstående indlæg af typen post. Det er derfor, du ofte finder ud af, at porteføljeposttypen bruger slug-“projekter” eller “porteføljepost” til det entallige slug.

Opløsning:

  1. Du kan ændre sidenavnet, så det er anderledes end den tilpassede posttype
  2. Du kan ændre din tilpassede posttypesnegle, hvilket gøres ved at ændre omskrivningsparameteren når registrering af din tilpassede posttype

3. Regler for automatisk flush omskrivning (for udviklere)

En anden årsag til 404-fejl er, når en ny posttype er registreret, skal du “skylle” dine omskrivningsregler i WordPress. Dette kan gøres ved at gå til Indstillinger> Permalinks og klikke på knappen Gem (nævnt i det første afsnit af dette indlæg).

Hvis du arbejder på et tilpasset tema eller plugin med registrerede posttyper, kan du overveje at automatisk skylle omskrivningsreglerne for din slutbruger, når de aktiverer dit tema eller plugin for at forhindre 404-fejl. Nedenfor er et eksempel på den kode, du kan bruge:

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

// Kode til plugins
register_deactivation_hook (__FILE__, 'flush_rewrite_rules');
register_activation_hook (__FILE__, 'myplugin_flush_rewrites');
funktion myplugin_flush_rewrites () {
// ring til din CPT-registreringsfunktion her (den skal også kobles til 'init')
myplugin_custom_post_types_registration ();
flush_rewrite_rules ();
}

Har en anden fejl eller løsning?

Hvis du har en anden fejl, eller du har en bedre løsning, skal du kommentere nedenfor og fortæl mig det. Ikke kun vil det hjælpe mig, men det vil sandsynligvis hjælpe andre mennesker på udkig efter en løsning på deres problem. Tak!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map