我想在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,
),
)
);
}
我还添加了模板" taxonomy-publisher.php"在woocommerce模板文件夹中,与taxonomy-product_cat.php相同。在此之后,我将一些发布者添加到此分类中并将一些产品映射到其中。
当我点击前端的任何发布者时,网站正在向我显示"哎呀!该页面无法找到"。当我更深入地检查为什么wordpress没有返回正确的模板文件。我发现,is_product_taxonomy()函数返回false。
但是当点击任何产品类别时,显示我映射产品的网站以及is_product_taxonomy()函数在这种情况下返回true。所以,我无法理解,尽管我在自定义分类法中使用了相同的信息(product_cat分类法),为什么wordpress无法向我展示正确的东西。
任何人都可以分享您的解决方案。在此先感谢