我想为 WooCommerce 创建自定义分类法。 默认分类法是类别和标签,但是,我想要更多,例如品牌、材料等等。 例如,我希望耐克、阿迪达斯……属于品牌;皮革、帆布……位于材料之下。 当我在线搜索时,大多数教程都使用插件(例如高级自定义字段)来为 WooCommerce 创建自定义分类法。但是,我真的不想仅将插件用于一个目的。 我在网上找到了这个:https://www.wppagebuilders.com/create-custom-taxonomy-without-plugin/但是它用于为自定义帖子类型创建分类法。 相反,我想为 WooCommerce 创建自定义分类法。因此,该代码对我不起作用。
add_action('init', 'register_custom_taxonomy');
function register_custom_taxonomy()
{
$labels = array(
'name' => _x('Collections', 'taxonomy general name'),
'singular_name' => _x('Collection','taxonomy singular name'),
'search_items' => __('Search Collection'),
'all_items' => __('All Collection'),
'parent_item' => __('Parent Collection'),
'parent_item_colon' => __('Parent Collection:'),
'edit_item' => __('Edit Collection'),
'update_item' => __('Update Collection'),
'add_new_item' => __('Add New Collection'),
'new_item_name' => __('New Collection Name'),
'menu_name' => __('Collections'),
);
$args = array(
'hierarchical' => true, // make it hierarchical (like categories)
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'show_in_rest' => true,
'rewrite' => array('slug' => 'Collection'),
);
register_taxonomy('Collections', 'wpp_shoe', $args); // Register the Taxonomy
}
有人有解决办法吗?谢谢!
为了使您的自定义分类法链接到 WooCommerce 产品,您的代码需要进行一些小的调整:
add_action('init', 'register_woocommerce_custom_taxonomy');
function register_woocommerce_custom_taxonomy() {
$text_domain = 'woocommerce';
// Register this custom taxonomy for "product" post type
register_taxonomy('collection', array('product'), array(
'labels' => array(
'name' => _x('Collection', 'taxonomy general name', $text_domain),
'singular_name' => _x('Collection', 'taxonomy singular name', $text_domain),
'search_items' => __('Search Collection', $text_domain),
'all_items' => __('All Collection', $text_domain),
'parent_item' => __('Parent Collection', $text_domain),
'parent_item_colon' => __('Parent Collection:', $text_domain),
'edit_item' => __('Edit Collection', $text_domain),
'update_item' => __('Update Collection', $text_domain),
'add_new_item' => __('Add New Collection', $text_domain),
'new_item_name' => __('New Collection Name', $text_domain),
'menu_name' => __('Collections', $text_domain),
),
'hierarchical' => true,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'show_in_rest' => true,
'rewrite' => array('slug' => 'collection'),
) );
}
代码位于子主题的functions.php 文件中(或插件中)。已测试并有效。