自WooCommerce 3.x以来,现在有本地品牌支持。但是,品牌不属于产品的默认导入/导出功能。我找到了有关如何在导入/导出中添加自定义列的文档:
/**
* 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' );
无法解决问题。如何将品牌添加到导入/导出?
更新 我做了什么来解决这个问题.. - 将品牌推向"标签"列 - 在管理员上,按标签批量编辑产品,并标记相应的列。
答案 0 :(得分:1)
我一直在使用Ultimate Brands插件&我也一直认为必须有一种通过CSV更新自定义分类值的方法。我设法使用Woocommerce产品CSV导入套件导入品牌名称,但还没有找到通过内置的Exporter中的Woocommerce导出的方法。不是开发人员,我认为它必须是与'get_terms'函数相关的东西。我已经尝试了很多变化而没有运气。认为它应该看起来像这样,但还没有设法让它工作:
function add_export_data() {
$product_id = $post->ID;
$value = get_terms($product_id, 'product_brand');
return $value;
}
答案 1 :(得分:0)
您要加入的过滤器为:'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;
}