故事是这样的:默认情况下,您不能拥有与您需要为CPT创建的页面相同的CPT片段。在一些情况下,我已经能够做到这一点,并使它工作得很好。例如:
我创造了我的CPT
register_post_type('schedule', array(
'labels' => array(
'name' => __('Events'),
'singular_name' => __('Event'),
'all_items' => __('View Events'),
'add_new' => __('New Event'),
'add_new_item' => __('New Event'),
'edit_item' => __('Edit Event'),
'view_item' => __('View Event'),
'search_items' => __('Search Events'),
'no_found' => __('No Eventss Found'),
'not_found_in_trash' => __('No Events in Trash')
),
'public' => true,
'publicly_queryable'=> true,
'show_ui' => true,
'query_var' => true,
'show_in_nav_menus' => false,
'rewrite' => array('slug' => 'schedule', 'with_front' => false),
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => 21,
'supports' => array('title','editor', 'thumbnail'),
'has_archive' => false
));我有我的CPT页面:

我的permalink结构是:/press-releases/%year%/%monthnum%/%day%/%postname%/
最后,我有一个名为" page -schedule.php“的页面模板,然后查询我的CPT,并将它显示得很好,甚至是分页。我并不是唯一一个能够做到这一点的人,因为我在wordpress.org论坛上看到了一些声称也能够做到这一点的帖子。
我的问题是,究竟是什么原因导致这种情况发生,以及如何复制它,这样我才能在没有插件的情况下实现良好的CPT永久链接结构?
发布于 2013-11-01 15:34:50
它没有什么神奇之处,您的post类型没有存档( has_archive是假的),所以您的post类型没有与/%post_type%/匹配的重写规则,您的post类型的现有规则只有/%post_type%/%some_other_thing%/,所以不会与页面发生冲突。
https://wordpress.stackexchange.com/questions/120923
复制相似问题