自定义帖子类型单页显示404错误

时间:2019-12-16 06:25:13

标签: wordpress wordpress-theming custom-post-type permalinks wordpress-gutenberg

我正在使用“自定义帖子类型”永久链接 通过Toro_Unit插件可自定义网址。

这是我的自定义帖子类型

<?php

/**
 * Post Type: our-products.
 */
function cptui_register_my_cpts_our_products() {



    $labels = array(
        "name" => __("Our Products", "twentynineteen"),
        "singular_name" => __("Product", "twentynineteen"),
        "menu_name" => __("Products", "twentynineteen"),
        "all_items" => __("Products", "twentynineteen"),
        "add_new" => __("Add Products", "twentynineteen"),
        "add_new_item" => __("Add New Product", "twentynineteen"),
        "edit_item" => __("Edit Product", "twentynineteen"),
        "new_item" => __("New Product", "twentynineteen"),
        "view_item" => __("View Product", "twentynineteen"),
        "view_items" => __("View Products", "twentynineteen"),
        "search_items" => __("Search Products", "twentynineteen"),
        "not_found" => __("No Product Found", "twentynineteen"),
        "not_found_in_trash" => __("No Product Found in Trash", "twentynineteen"),
        "parent_item_colon" => __("Parent Product", "twentynineteen"),
        "featured_image" => __("Featured Image", "twentynineteen"),
        "set_featured_image" => __("Set Featured Image for Product", "twentynineteen"),
        "remove_featured_image" => __("Remove Featured Image for Product", "twentynineteen"),
        "use_featured_image" => __("Use as Featured Image For Product", "twentynineteen"),
        "archives" => __("Product Archieves", "twentynineteen"),
        "insert_into_item" => __("Insert into Products", "twentynineteen"),
        "uploaded_to_this_item" => __("Upload to this product", "twentynineteen"),
        "filter_items_list" => __("Filter Product List", "twentynineteen"),
        "items_list_navigation" => __("Filter Product List Navigation", "twentynineteen"),
        "items_list" => __("Products List", "twentynineteen"),
        "attributes" => __("Product Attributes", "twentynineteen"),
        "name_admin_bar" => __("Products", "twentynineteen"),
        "parent_item_colon" => __("Parent Product", "twentynineteen"),
    );

    $args = array(
        "label" => __("our-products", "twentynineteen"),
        "labels" => $labels,
        "description" => "",
        "public" => true,
        "publicly_queryable" => true,
        "show_ui" => true,
        "delete_with_user" => false,
        "show_in_rest" => true,
        "rest_base" => "",
        "rest_controller_class" => "WP_REST_Posts_Controller",
        "has_archive" => true,
        "show_in_menu" => true,
        "show_in_nav_menus" => true,
        "exclude_from_search" => false,
        "capability_type" => "post",
        "map_meta_cap" => true,
        "hierarchical" => true,
        "rewrite" => array("slug" => "our-products", "with_front" => true),
        "query_var" => "our-products",
        "supports" => array("title", "editor", "thumbnail", "excerpt", "trackbacks", "custom-fields", "comments", "revisions", "page-attributes", "post-formats"),
    );

    register_post_type("our-products", $args);
}

add_action('init', 'cptui_register_my_cpts_our_products');

function wpdocs_register_private_taxonomy1() {
    $args = array(
        'label' => __('Product Category', 'textdomain'),
        'public' => true,
         "publicly_queryable" => true,
        "show_in_rest" => true,
        'rewrite' => true,
        'hierarchical' => true,
        'has_archive' => true
    );

    register_taxonomy('product-category', 'our-products', $args);


    $labels = array(
        'name' => _x('Tags', 'taxonomy general name'),
        'singular_name' => _x('Tag', 'taxonomy singular name'),
        'search_items' => __('Search Tags'),
        'popular_items' => __('Popular Tags'),
        'all_items' => __('All Tags'),
        'parent_item' => null,
        'parent_item_colon' => null,
        'edit_item' => __('Edit Tag'),
        'update_item' => __('Update Tag'),
        'add_new_item' => __('Add New Tag'),
        'new_item_name' => __('New Tag Name'),
        'separate_items_with_commas' => __('Separate tags with commas'),
        'add_or_remove_items' => __('Add or remove tags'),
        'choose_from_most_used' => __('Choose from the most used tags'),
        'menu_name' => __('Tags'),
    );

    register_taxonomy('tag', 'our-products', array(// replace your post type with "news"
        'hierarchical' => false,
        'labels' => $labels,
        "show_in_rest" => true,
        'show_ui' => true,
        'update_count_callback' => '_update_post_term_count',
        'query_var' => true,
        'rewrite' => array('slug' => 'tag'),
    ));
}

add_action('init', 'wpdocs_register_private_taxonomy1', 0);


flush_rewrite_rules( false );

我要创建自定义分类法的网址

site_url /我们的产品/自定义分类名称

单页

site_url /我们的产品/自定义分类名称/单页网址

因此设置时

enter image description here

网址正常工作。但显示404错误。

尝试:根本不起作用

  • 按设置刷新永久链接->永久链接->自定义结构->保存

  • flush_rewrite_rules(false)在functions.php中以及创建时 自定义帖子类型

  • 提供的解决方案here

  • 还尝试了this解决方案

  • .htaccess文件:没有任何问题。

  • 无奈之后,安装了新的设置,创建了自定义帖子类型,并将永久链接设置为/%category%/%postname%/, 适用于自定义帖子类型。

仅供参考,我使用的是wordpress 5.3.1,与主题或插件没有冲突。经过测试。

2 个答案:

答案 0 :(得分:1)

问题是这一行:

teamcity.com/httpAuth/app/rest/investigations/?locator=affectedProject:(id:<ProjectId>)

当您使用“标签”关键字时,事情会发生冲突。

您可以重命名自定义分类法,但会丢失已添加的术语。

您可以使用自定义 query_var 参数解决此问题,不要将其设置为 true。该参数也接受一个字符串:

register_taxonomy('tag', 'our-products', array(

答案 1 :(得分:0)

注册自定义帖子类型时 将此添加到您的自定义帖子类型

"taxonomies" => [ "category", "product-category" ],

当时有效