【问题标题】:Custom Post Type Single page shows 404 error自定义帖子类型单页显示404错误
【发布时间】:2023-03-13 20:23:01
【问题描述】:

我正在使用自定义帖子类型永久链接 通过 Toro_Unit 插件自定义 url。

这是我的自定义帖子类型

<?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/our-products/custom-taxonomy-name

单页

site_url/our-products/custom-taxomony-name/single-page-url

所以在设置时

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

尝试过:根本不工作

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

  • functions.php 中的flush_rewrite_rules(false) 和创建时 自定义帖子类型

  • 提供的解决方案here

  • 也试过this解决方案

  • .htaccess 文件:检查没有问题。

  • 在所有的挫折之后,安装了一个新设置,创建了一个自定义帖子类型并将永久链接设置为 /%category%/%postname%/,而不是 适用于自定义帖子类型。

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

【问题讨论】:

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


    【解决方案1】:

    问题出在这一行:

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

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

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

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

    'query_var' => 'a'
    

    【讨论】:

      【解决方案2】:

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

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

      当时就成功了

      【讨论】:

        猜你喜欢
        • 2014-09-29
        • 1970-01-01
        • 2015-06-07
        • 1970-01-01
        • 1970-01-01
        • 2012-01-06
        • 1970-01-01
        • 1970-01-01
        • 2020-03-22
        相关资源
        最近更新 更多