Benutzerdefinierter Post-Typ URL Rewrite (Konflikt mit Seiten-URL)

Ich habe eine Website mit vielen verschiedenen benutzerdefinierten Posts. Ich möchte Seiten als übergeordnete Vorlagen für diese benutzerdefinierten Posts verwenden (alle bestimmten benutzerdefinierten Posts auflisten).

Zum Beispiel habe ich eine Seite namens “Blog” und es hat URL www.mysite.com/blog Es wird benutzerdefinierte Beiträge namens “Blog”. Im Folgenden finden Sie die Implementierung des benutzerdefinierten Post-Typs:

$args = array ( 'label' => 'Blog Posts', 'singular_label' => 'Blog Post', 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => array('slug' => 'blog'), 'query_var' => true, 'menu_icon' => null, 'menu_position' => 2, 'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'post-formats', 'custom-fields', 'editors') ); register_post_type( 'blog' , $args ); 

Das funktioniert und jeder kann ich klicken und jeden Blog- www.mysite.com/blog/hi-this-is-a-post mit der URL www.mysite.com/blog/hi-this-is-a-post

Die Seitennummerierung ist jedoch unterbrochen. www.mysite.com/blog/page/2/ gibt 404 zurück. Ich habe eine www.mysite.com/blog/page/2/ gefunden, indem ich / post / an die URL des benutzerdefinierten Beitrags www.mysite.com/blog/page/2/

 'rewrite' => array('slug' => 'blog/post'), 

Dies unterbricht die Seitenumbruch nicht und verlinkt nicht auf Posts, aber das ist nicht was wir wollen. Wir möchten eine URL haben, die ähnlich ist

 www.mysite.com/blog/each-post 

Kann mir bitte jemand einen Hinweis geben? Vielen Dank.

Solutions Collecting From Web of "Benutzerdefinierter Post-Typ URL Rewrite (Konflikt mit Seiten-URL)"

Dank @Milo konnte ich das lösen

1) Löschen Sie alles, was reserviert werden könnte /blog/ url. In meinem Fall war es eine singuläre Seite mit URL /blog/ .

2) Ändern Sie die benutzerdefinierte Post-Typ-Deklaration, so dass sie 'has_archive' => true

3) Erstellen Sie archive-blog.php und verschieben Sie Ihren Code hier. (Sie können einfach das globale Abfrageobjekt für diesen benutzerdefinierten Beitragstyp verwenden.)

4) Aktualisieren Sie den Permalink einige Male, indem Sie ihn wieder auf plain to custom setzen (er aktualisiert tatsächlich Ihren URL-Permalink.)

5) Werke.