Nyheter i Android, Telefoner, Prylar Och Recensioner

Hur man fixar Custom Post 404-fel i WordPress

Med lanseringen av WordPress 3.0 kom möjligheten att lägga till “Custom Post Types” till dina WordPress-teman, vilket är ett mycket värdefullt verktyg och jag har använt det i många WordPress-teman jag har skapat. Vid den här tiden har anpassade inläggstyper blivit extremt populära och används i nästan alla WordPress-teman. Men alla som har arbetat med anpassade inläggstyper har förmodligen stött på rereadful 404 Felet hittades inte när du försöker komma åt ett inlägg från inläggstypen vid ett eller annat tillfälle. Lyckligtvis finns det nästan alltid en enkel lösning för att åtgärda dessa fel.

Nedan har jag listat några av de vanligaste problemen som människor har med anpassade inläggstyper och varför de kan få dessa fel. Förhoppningsvis hjälper de åtminstone några människor.

1. Kontrollera dina permalänkinställningar

Detta är förmodligen en av de vanligaste anledningarna till att människor får 404-fel på sina anpassade inläggstyper och jag har hanterat det många gånger. Jag har sett många lösningar, som att ta bort omskrivningsregler (vilket jag inte rekommenderar), men jag hade personligen bäst lycka med följande lösning:

Lösning:

  • Ställ in din anpassade permalänkstruktur (som %postname%)
  • Klicka på Spara
  • Se om dina individuella anpassade inläggssidor returnerar 404-felsidor
  • Om de gör det, gå tillbaka och ändra permalänkarna till standardvärdena och spara
  • Försök nu att ställa in permalänken igen och spara

Att gå fram och tillbaka har vanligtvis hjälpt till att rätta till mina misstag och jag har haft mycket framgång med denna metod.

Nu, på vissa servrar, om dina behörigheter inte är korrekt inställda, kanske detta inte fungerar och du kan behöva uppdatera din .htaccess-fil manuellt. För att göra detta måste du logga in på din webbplats via FTP eller SFTP och webbläsare till din WordPress rotkatalog (samma plats där din wp-config.php-fil och wp-content-mappen finns). Här bör du hitta en fil som heter .htaccess som du kan ändra (om du inte ser den, se till att ditt FTP-program har möjlighet att visa dolda filer aktiverade och om det helt enkelt inte finns någon, skapa en). Se nu till att filen innehåller den grundläggande WordPress-koden som nämns i WordPress-dokumenten, som ser ut så här:

# BEGIN WordPress

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

# END WordPress

Viktig: Om du ändrar en befintlig .htaccess-fil, se till att säkerhetskopiera filen till din dator först ifall du förstör något.

Relaterad  Perm "Promobot" visade roboten Robo-C-2, som kan uttrycka känslor - snart kommer den att dyka upp i MFC och köpcentra

2. Kontrollera om det finns slug-konflikter (har en sida med samma slug som din inläggstyp)

En annan sak som kan orsaka ett 404-fel är att du har en överordnad sida för att visa ditt inläggstypinlägg och det har samma slug som din faktiska inläggstyp singular slug. Till exempel, om du har en inläggstyp som heter “portfolio” och du också har en “Portfolio”-hemsida med snigeln “portfolio” (med andra ord, för att komma åt ett portföljinlägg, gå till site.com/portfolio/ sample- post) detta skapar en konflikt som orsakar 404-fel på dina inlägg av enskild posttyp. Det är därför du ofta upptäcker att portföljinläggstypen använder “projekt” eller “portföljobjekt” för den singulära snigeln.

Lösning:

  1. Du kan ändra sidnamnet så att det skiljer sig från den anpassade posttypen
  2. Du kan ändra din anpassade posttyp, vilket görs genom att ändra omskrivningsparametern när du registrerar din anpassade posttyp

3. Regler för automatisk nedladdning omskrivning (för utvecklare)

En annan orsak till 404-fel är att varje gång du registrerar en ny inläggstyp måste du “spola” dina omskrivningsregler i WordPress. Detta kan göras genom att gå till Inställningar > Permalänkar och klicka på knappen Spara (nämns i det första avsnittet av detta inlägg).

Om du arbetar med ett anpassat tema eller plugin med registrerade inläggstyper kan du överväga att automatiskt ta bort omskrivningsregler för din slutanvändare när de aktiverar ditt tema eller plugin för att undvika 404-fel. Nedan är ett exempel på koden du kan använda:

// Code for themes
add_action( 'after_switch_theme', 'flush_rewrite_rules' );

// Code for plugins
register_deactivation_hook( __FILE__, 'flush_rewrite_rules' );
register_activation_hook( __FILE__, 'myplugin_flush_rewrites' );
function myplugin_flush_rewrites() {
	// call your CPT registration function here (it should also be hooked into 'init')
	myplugin_custom_post_types_registration();
	flush_rewrite_rules();
}

Har du en annan bugg eller lösning?

Om du har en annan bugg eller har en bättre lösning än min, vänligen kommentera nedan och låt mig veta. Det kommer inte bara att hjälpa mig, utan det kommer förmodligen att hjälpa andra människor som letar efter en lösning på sitt problem. Tack!