Für mein Projekt www.autoachrichten.de habe ich gerade einen neuen Custom Post Type eingerichtet. Durch die WordPress Dokumentation auch kein großes Problem. In der functions.php kommt folgender Aufruf hinzu
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'product',
array(
'labels' => array(
'name' => __( 'Products' ),
'singular_name' => __( 'Product' )
),
'public' => true,
'has_archive' => true,
)
);
}
Quelle: codex.wordpress.org
Durch dieses kleine PHP Snipped erscheint im Adminbereich ein neuer Eintrag im Menü. Hier können jetzt alle neuen Posts des neuen Post Types angelegt werden. In der Vorschau auch überhaupt kein Problem. Sobald der Artikel gespeichert ist und der neue Artikel über den Permalink aufgerufen wird, kamen bei mir durchgehend 404 Fehler.
Da ich jetzt eine Weile Googeln musst um dem Problem auf die Schliche zu kommen, wollte ich meine gefundenen Ergebnisse einmal zusammen tragen.
- Der Custom Post Type nutzt den selben Namespace wie ein installiertes Plugin
- Der Custom Post Type heißt wie eine verwendete Kategorie oder Tag
- Der Custom Post Type nutzt den selben Namen wie eine vorhanden Page
Alles hat bei mir nicht zugetroffen. Die Lösung war dann doch sehr simpel: Damit der interne Cache aller Rewrite Rules geleert wird, muss einmal die Permalink Seite im WP-Admin aufgerufen werden. Bei ganz hartnäckigen Fällen sollt das ändern (und wieder zurück) der Permalink Struktur helfen. Jetzt ist der neue Custom Post Type auch in den Rewrite Rules vorhanden und die Seiten werden gefunden.
Wie bei allen arbeiten an WordPress sollte die Seite einmal gesichert werden um Datenverlust zu vermeiden.
Danke an wpmu.org, hier gab es die Fehlerlösung
wpmu.org/troubleshooting-wordpress-404-errors-with-custom-post-types/