无需插件即可为 WooCommerce 创建自定义分类法

问题描述 投票:0回答:1

我想为 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
}

有人有解决办法吗?谢谢!

php wordpress woocommerce product custom-taxonomy
1个回答
0
投票

为了使您的自定义分类法链接到 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 文件中(或插件中)。已测试并有效。

© www.soinside.com 2019 - 2024. All rights reserved.