Wordpress,自定义帖子类型如果超过1个帖子类型则给出404

时间:2015-10-23 08:35:50

标签: php wordpress custom-post-type

我知道这是常见的问题。

首先我要说 - 我尝试:刷新重写,重置固定链接设置,删除flush_rewrite_rules()并使用固定链接设置再次创建,尝试:add_action( 'init', 'create_post_types', 0 ); function create_post_types() { /*********************************** * * Register post type - Svømming * ***********************************/ $labels = array( 'name' => _x( 'Svømming', 'Post Type General Name', TD), 'singular_name' => _x( 'Svømming', 'Post Type Singular Name', TD ), 'menu_name' => __( 'Svømming', TD ), 'name_admin_bar' => __( 'Svømming', TD ), ); $supports = array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'revisions', 'page-attributes'); $args = array( 'label' => __( 'Svømming', TD ), 'description' => __( 'Svømming', TD ), 'labels' => $labels, 'supports' => $supports, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'menu_icon' => THEMEURL.'/img/swimming2x2.svg', 'show_in_admin_bar' => true, 'show_in_nav_menus' => true, 'can_export' => true, 'has_archive' => false, 'exclude_from_search' => false, 'publicly_queryable' => true, 'rewrite' => array( 'slug' => '/' ), 'capability_type' => 'page', ); register_post_type( 'svomming', $args ); /*********************************** * * Register post type - Stup * ***********************************/ $labels = array( 'name' => _x( 'Stup', 'Post Type General Name', TD), 'singular_name' => _x( 'Stup', 'Post Type Singular Name', TD ), 'menu_name' => __( 'Stup', TD ), 'name_admin_bar' => __( 'Stup', TD ), ); $supports = array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'revisions', 'page-attributes'); $args = array( 'label' => __( 'Stup', TD ), 'description' => __( 'Stup', TD ), 'labels' => $labels, 'supports' => $supports, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'menu_icon' => THEMEURL.'/img/stup.svg', 'show_in_admin_bar' => true, 'show_in_nav_menus' => true, 'can_export' => true, 'has_archive' => false, 'exclude_from_search' => false, 'publicly_queryable' => true, 'rewrite' => array( 'slug' => '/' ), 'capability_type' => 'page', ); register_post_type( 'stup', $args ); /* There will be 4 more post types */ }

问题:自定义post_type在使用永久链接设置时显示404 - /%postname%/,没有正常工作,同样的问题是在帖子中构建! 当我创建一个post_type - 它工作,但是当创建下一个 - 工作时只添加最后一个帖子类型,首先一个post_type给404。 这是我的创建帖子功能:

=IIF(IsNothing(Fields!FieldName.Value, "Accounts are OK", Fields!FieldName.Value))

这些帖子类型必须为 分层 slug => '/' 我完全不知道为什么会出现这个问题:(

最奇怪的部分是 - 为什么只工作上次注册的帖子类型以及为什么内置“帖子”不起作用

2 个答案:

答案 0 :(得分:1)

问题是你正在创建两个具有相同slug的帖子类型。你应该在其中一个中更改slu。

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

您不能拥有两个具有相同slug的帖子类型,因此请更改其中一个帖子的名称,不要忘记更新永久链接:转到设置 - >固定链接并点击底部的保存更改按钮而不更改任何设置,这只会更新永久链接表。这样就可以了..

答案 1 :(得分:0)

使用不同的帖子名称。您创建的帖子类型不会从数据库中删除。因此,使用其他名称创建新的帖子类型。选择永久链接设置为帖子名称