【问题标题】:Import & Export product Brands in Woocommerce 3.xWoocommerce 3.x 中的进出口产品品牌
【发布时间】:2018-02-25 23:17:13
【问题描述】:

从 WooCommerce 3.x 开始,现在有了原生品牌支持。但是,品牌不是产品默认导入/导出功能的一部分。我在 import/export 中找到了有关如何添加自定义列的文档:

/**
 * Add the custom column to the exporter and the exporter column menu.
 *
 * @param array $columns
 * @return array $columns
 */
function add_export_column( $columns ) {

    // column slug => column name
    $columns['custom_column'] = 'Custom Column';

    return $columns;
}
add_filter( 'woocommerce_product_export_column_names', 'add_export_column' );
add_filter( 'woocommerce_product_export_product_default_columns', 'add_export_column' );

/**
 * Provide the data to be exported for one item in the column.
 *
 * @param mixed $value (default: '')
 * @param WC_Product $product
 * @return mixed $value - Should be in a format that can be output into a text file (string, numeric, etc).
 */
function add_export_data( $value, $product ) {
    $value = $product->get_meta( 'custom_column', true, 'edit' );
    return $value;
}
// Filter you want to hook into will be: 'woocommerce_product_export_product_column_{$column_slug}'.
add_filter( 'woocommerce_product_export_product_column_custom_column', 'add_export_data', 10, 2 );

使用$product->get_meta( 'brands', true, 'edit' ); 没有成功。如何将品牌添加到导入/导出?

更新: 我做了什么来解决这个问题.. - 将品牌移动到“标签”列 - 在管理员上,按标签批量编辑产品,并标记相应的列。

【问题讨论】:

    标签: php wordpress import woocommerce


    【解决方案1】:

    我一直在使用 Ultimate Brands 插件并认为必须有一种方法可以通过 CSV 更新自定义分类值。我设法使用 Woocommerce 产品 CSV 导入套件导入品牌名称,但尚未找到通过内置导出器的 Woocommerce 导出的方法。不是开发人员,我认为它一定与“get_terms”功能有关。我已经尝试了很多变化,但还没有运气。正在考虑它应该看起来像这样,但还没有设法让它工作:

    function add_export_data() {
            $product_id = $post->ID;
            $value =  get_terms($product_id, 'product_brand');      
            return $value;
    } 
    

    【讨论】:

      【解决方案2】:

      您要挂钩的过滤器将是:'woocommerce_product_export_product_column_{$column_slug}'。

      因此,如果您的自定义列名称是 product_brand,那么 add_filter 将类似于:

      add_filter( 'woocommerce_product_export_product_column_product_brand', 'add_export_data', 10, 2 );
      
      function add_export_data( $value, $product ) {
         $value = $product->get_meta( 'product_brand', true, 'edit' );
         return $value;
      }
      

      如果您的自定义列名称是 brands,那么 add_filter 将类似于:

      add_filter( 'woocommerce_product_export_product_column_brands', 'add_export_data', 10, 2 );
      
      function add_export_data( $value, $product ) {
         $value = $product->get_meta( 'brands', true, 'edit' );
         return $value;
      }
      

      【讨论】:

        猜你喜欢
        • 2020-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-10
        • 2016-08-23
        相关资源
        最近更新 更多