我想在wordpress中添加新的自定义分类 . 所以,为了做到这一点,我使用了register_taxonomy()函数,在这里,我已经制作了product_cat分类法的副本 .

以下是我的自定义分类法的代码:

add_action('woocommerce_register_taxonomy', 'fancyplugin_register_custom_taxonomy');  

function fancyplugin_register_custom_taxonomy()
{
    register_taxonomy(
        'publisher',
        'product',
        array(
           'hierarchical' => true,
            'update_count_callback' => '_wc_term_recount',
            'label' => __('Publishers', 'woocommerce'),
            'labels' => array(
                 'name' => __('Product publishers', 'woocommerce'),
                 'singular_name' => __('Publisher', 'woocommerce'),
                 'menu_name' => _x('Publishers', 'Admin menu name', 'woocommerce'),
                 'search_items' => __('Search publishers', 'woocommerce'),
                 'all_items' => __('All publishers', 'woocommerce'),
                 'parent_item' => '',
                 'parent_item_colon' => '',
                 'edit_item' => __('Edit Pubisher', 'woocommerce'),
                 'update_item' => __('Update Publisher', 'woocommerce'),
                 'add_new_item' => __('Add new publisher', 'woocommerce'),
                 'new_item_name' => __('New publisher name', 'woocommerce'),
                 'not_found' => __('No publishers found', 'woocommerce'),
               ),
           'show_ui' => true,
           'query_var' => true,
           'capabilities' => array(
               'manage_terms' => 'manage_product_terms',
               'edit_terms' => 'edit_product_terms',
               'delete_terms' => 'delete_product_terms',
               'assign_terms' => 'assign_product_terms',
            ),
            'rewrite' => array(
               'slug' => 'publisher',
               'with_front' => false,
               'hierarchical' => true,  
             ),  
          )
      );
  }

我还在woocommerce模板文件夹中添加了与taxonomy-product_cat.php相同的模板“taxonomy-publisher.php” . 在此之后,我将一些发布者添加到此分类中并将一些产品映射到其中 .

当我点击前端的任何发布者时,网站显示“Ooops!无法找到该页面” . 当我更深入地检查为什么wordpress没有返回正确的模板文件 . 我发现,is_product_taxonomy()函数返回false .

但是当点击任何产品类别时,显示我映射产品的网站以及is_product_taxonomy()函数在这种情况下返回true . 所以,我无法理解,尽管我在自定义分类法中使用了相同的信息(product_cat分类法),为什么wordpress无法向我展示正确的东西 .

请任何人分享您的解决方案 . 提前致谢