WordPress ||自定义 post 类型、永久链接和数字

WordPress || Custom post types, permalinks & numbers

这是猫窝。我有一个自定义 post 类型,称为 "cat"。

然后我有一个可用性分类法,"available" 和 "homed"。

一切正常...直到出现重复的猫名。例如,如果 Milo 进来一个月,然后一年后,另一个 Milo 进来。显然,WordPress 将创建 siteurl/cat/milo/,然后对于第二个,创建 siteurl/cat/milo-2/.

原来的 Milo 工作正常...一旦输入数字,milo-2 就不起作用,并重定向到 404。

自定义Post类型

function cat_post_type() {

    $labels = array(
        'name'                => _x( 'Cats', 'Post Type General Name', 'text_domain' ),
        'singular_name'       => _x( 'Cat', 'Post Type Singular Name', 'text_domain' ),
        'menu_name'           => __( 'Cats', 'text_domain' ),
        'name_admin_bar'      => __( 'Cats', 'text_domain' ),
        'parent_item_colon'   => __( 'Parent Cat:', 'text_domain' ),
        'all_items'           => __( 'All Cats', 'text_domain' ),
        'add_new_item'        => __( 'Add Cat', 'text_domain' ),
        'add_new'             => __( 'New Cat', 'text_domain' ),
        'new_item'            => __( 'New Cat', 'text_domain' ),
        'edit_item'           => __( 'Edit Cat', 'text_domain' ),
        'update_item'         => __( 'Update Cat', 'text_domain' ),
        'view_item'           => __( 'View Cat', 'text_domain' ),
        'search_items'        => __( 'Search cats', 'text_domain' ),
        'not_found'           => __( 'No cats found', 'text_domain' ),
        'not_found_in_trash'  => __( 'No cats found in Trash', 'text_domain' ),
    );
    $args = array(
        'label'               => __( 'cats', 'text_domain' ),
        'description'         => __( 'All cats', 'text_domain' ),
        'labels'              => $labels,
        'supports'            => array( 'title', 'editor', 'thumbnail', 'comments'),
        'taxonomies'          => array( 'available', 'homed' ),
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'menu_position'       => 5,
        'menu_icon'           => 'dashicons-smiley',
        'show_in_admin_bar'   => true,
        'show_in_nav_menus'   => true,
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'post',
    );
    register_post_type( 'cat', $args );

}

分类法

// Hook into the 'init' action
add_action( 'init', 'cat_post_type', 0 );


    function add_custom_taxonomies() {
      // Add new "Locations" taxonomy to Posts
      register_taxonomy('availability', 'cat', array(
        // Hierarchical taxonomy (like categories)
        'hierarchical' => true,
        // This array of options controls the labels displayed in the WordPress Admin UI
        'labels' => array(
          'name' => _x( 'Cats Availability', 'taxonomy general name' ),
          'singular_name' => _x( 'Cat Availability', 'taxonomy singular name' ),
          'search_items' =>  __( 'Search Cat Availability' ),
          'all_items' => __( 'All Availability' ),
          'parent_item' => __( 'Parent Availability' ),
          'parent_item_colon' => __( 'Parent Availability:' ),
          'edit_item' => __( 'Edit Availability' ),
          'update_item' => __( 'Update Availability' ),
          'add_new_item' => __( 'Add New Availability' ),
          'new_item_name' => __( 'New Availability' ),
          'menu_name' => __( 'Availability' ),
        ),
        // Control the slugs used for this taxonomy
        'rewrite' => array(
          'slug' => 'cats', // This controls the base slug that will display before each term
          'with_front' => false, // Don't display the category base before "/locations/"
          'hierarchical' => true // This will allow URL's like "/locations/boston/cambridge/"
        ),
      ));
    }
    add_action( 'init', 'add_custom_taxonomies', 0 );

我们认为这可能是数据库中的某些冲突...尝试重新保存 permalinks,删除未使用的数据库条目,禁用所有插件...没有。

手动将猫重命名为 milo_ 工作正常,但其中的任何数字只会发回我的 404。

使用 Starkers 响应式主题,没有子主题。标准 htaccess。

我是不是遗漏了一些明显的东西?

此处未完成的站点 - 找到一只猫,其 link...http://catsnottingham.zellement.com/cats/homed/

我已经解决了这个问题 - 我认为这一定是数据库冲突、损坏或错误,所以我重新开始安装新的 WordPress,这已经解决了这个问题。

我的一部分认为使用 "cat" 作为 CPT 可能与类别冲突...不知何故。