Benutzerdefinierte Post-Typ-Seiten geben 404-Seite zurück?

Ich habe einen benutzerdefinierten Beitragstyp in meiner functions.php erstellt:

function keyword_pages_init() { $args = array( 'label' => 'Keywords', 'public' => true, 'show_ui' => true, 'capability_type' => 'page', 'hierarchical' => false, 'rewrite' => array('slug' => 'keywords'), 'query_var' => true, 'menu_icon' => 'dashicons-admin-page', 'supports' => array( 'title', 'editor', 'excerpt', 'revisions', 'thumbnail', 'author', 'page-attributes', ) ); register_post_type( 'keywords', $args ); } add_action( 'init', 'keyword_pages_init' ); 

Und das ist die benutzerdefinierte Schablonenseite, die ich für diese benutzerdefinierten Post-Typ-Seiten verwenden möchte:

     post_name; // Get post id. $post_id = $post->ID; // Prepare an empty array. $elements = array(); ?>  

No content found.

<?php get_footer();

Aber ich erhalte eine 404-Seite, wenn ich eine benutzerdefinierte Seite unter diesem benutzerdefinierten Beitragstyp erstellt habe.

Was habe ich noch vermisst?

Solutions Collecting From Web of "Benutzerdefinierte Post-Typ-Seiten geben 404-Seite zurück?"

Die 404-Seite wird angezeigt, weil die Permalinks nach dem Einfügen des Codes nicht aktualisiert wurden. Sie können eines der folgenden Dinge tun:

  1. Aktualisieren Sie die Permalinks manuell, nachdem Sie den neuen benutzerdefinierten Posttyp hinzugefügt haben (muss nur einmal ausgeführt werden).

  2. Fügen Sie die benutzerdefinierte Post-Typ-Datei in die flush_rewrite_rules( ); Setup-function ein und folgen Sie ihr mit flush_rewrite_rules( ); , dann reaktiviere das Thema. Referenz hier

Edit: Bitte nicht den Code flush_rewrite_rules( ); in Ihrer benutzerdefinierten Post-PHP-Datei, da die function sehr teuer ist, jedes Mal, wenn die WordPress-Engine lädt.