Benutzerdefinierte Beitragstyp-Benutzeroberfläche

Ich benutze den benutzerdefinierten Post-Typ des Plugins ui, um einen Post-Typ zu erstellen, sagt Film. Alles ist ok. Ich erstelle einen Film und es ist anschaubar

http://localhost/wordpress/movies/test/ 

Aber wenn ich weitermache

http: // localhost / wordpress / filme /

Ich habe erwartet, Test als Film in der ganzen Liste von Filmen zu sehen, aber nichts wird angezeigt

Vom Plugin generierter Code:

 register_post_type('movies', array( 'label' => 'Movies', 'description' => '', 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => array('slug' => ''), 'query_var' => true, 'supports' => array( 'title','editor','excerpt','trackbacks', 'custom-fields','comments','revisions','thumbnail','author', 'page-attributes',), 'taxonomies' => array('category','post_tag',), 'labels' => array ( 'name' => 'Movies', 'singular_name' => 'Movie', 'menu_name' => 'Movies', 'add_new' => 'Add Movie', 'add_new_item' => 'Add New Movie', 'edit' => 'Edit', 'edit_item' => 'Edit Movie', 'new_item' => 'New Movie', 'view' => 'View Movie', 'view_item' => 'View Movie', 'search_items' => 'Search Movies', 'not_found' => 'No Movies Found', 'not_found_in_trash' => 'No Movies Found in Trash', 'parent' => 'Parent Movie', ),) ); 

Solutions Collecting From Web of "Benutzerdefinierte Beitragstyp-Benutzeroberfläche"

has_archive einfach has_archive => ‘movies’ in das has_archive Array ein, das Sie an register_post_type sollte in Ordnung sein, da es standardmäßig auf ‘false’ gesetzt ist.

Gehen Sie zum Admin-Panel und gehen Sie auf den Tab “Permalinks”. Sobald Sie sich auf der Permalinks-Seite befinden, speichern Sie die Änderungen und versuchen Sie es erneut. Dies ist ein versteckter Trick mit WordPress. Der Cache wird gelöscht, sobald Sie die Permalinks-Seite aufrufen und Änderungen speichern. Ich denke, das sollte für dich funktionieren.

Ich sehe eine Reihe von Problemen mit Ihrem Code:

 'rewrite' => array('slug' => ''), 

Sie können nicht eine Kugel von '' es funktioniert nicht. Es gibt keinen Hack im core, um das zu beheben, und es gibt gute Gründe für Permalink-Konflikte. Ich kann nur davon ausgehen, dass Sie versuchen, das benutzerdefinierte Post wie Seiten arbeiten, aber es wird nicht so funktionieren. Ändern Sie es in etwas anderes oder machen Sie einfach das rewrite gleich true

 'label' => 'Movies', 

Sie haben das Etiketten-Array bereits definiert, dies ist nicht notwendig.

Zu guter Letzt zeigt das Kategoriearchiv standardmäßig nur Posts vom Typ post . Deine Filme werden dort nicht erscheinen.

Um dies zu beheben, legen Sie dies in Ihre functions.php :

 add_filter('pre_get_posts', 'query_post_type'); function query_post_type($query) { if(is_category() || is_tag()) { $post_type = get_query_var('post_type'); if($post_type) $post_type = $post_type; else $post_type = array('post','movies'); // replace cpt to your custom post type $query->set('post_type',$post_type); return $query; } } 

In Zukunft Code richtig einrücken (ich musste es in Ihrem Post zu beheben, war es nicht lesbar, und nicht lesbarer Code ist in der Regel auch gebrochenen Code), und verwenden Sie einen Generator wie diesen für die Registrierung Post-Typen und Taxonomien