【问题标题】:Adding WooCommerce Attribute via PHP code通过 PHP 代码添加 WooCommerce 属性
【发布时间】:2015-09-11 05:47:02
【问题描述】:

我可以看到很多关于添加 woocommerce 产品属性的问题。但是这样做,我可以在这个屏幕上看到那些添加的属性

wp-admin/edit.php?post_type=product&page=product_attributes

我的问题是我们如何通过 PHP 代码添加属性,使其出现在上面指定的 woocommerce 属性屏幕中?我的目的是让这些属性在“分层导航”小部件下可见以过滤掉。

【问题讨论】:

    标签: attributes woocommerce product


    【解决方案1】:

    以下代码将以编程方式创建属性,该属性将在后端的 product_attributes 页面上可见。

            global $wpdb; 
    
            $insert = $wpdb->insert(
                $wpdb->prefix . 'woocommerce_attribute_taxonomies',
                array(
                    'attribute_label'   => 'name',
                    'attribute_name'    => 'slug',
                    'attribute_type'    => 'type',
                    'attribute_orderby' => 'order_by',
                    'attribute_public'  => 1
                ),
                array( '%s', '%s', '%s', '%s', '%d' )
            );
    
            if ( is_wp_error( $insert ) ) {
                throw new WC_API_Exception( 'woocommerce_api_cannot_create_product_attribute', $insert->get_error_message(), 400 );
            }
    
            // Clear transients
            delete_transient( 'wc_attribute_taxonomies' );
    

    用相关值更改nameslug 等。

    【讨论】:

    • 嗨,这个 sn-p 工作正常。但它无法在插件的激活钩子上工作。我必须在插件激活时创建一些产品属性。解决办法是什么?加载页面后,我没有发现运行此代码有任何问题。
    • 必须将代码附加到哪个钩子?请注意,不能保证 WooCommerce 将始终在您的插件之前加载。尝试在woocommerce_loaded上运行代码
    • 最好在插件激活钩子上。这样,我可以定义一些 woocommerce 产品属性。
    • 啊,当然,忘了。感谢您指出已为将来的访问者更新了代码。
    • 很高兴知道您的代码运行良好。我的定制要求很少。你能做一小笔费用吗?它与设置 AJAX 样式的产品搜索表单和在分页上显示结果有关。还有一些要求.....
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 2013-11-30
    • 2022-08-18
    • 2018-02-15
    • 1970-01-01
    • 2011-08-29
    • 2014-08-14
    相关资源
    最近更新 更多