Skip to content

Instantly share code, notes, and snippets.

@wtmujeebu
Created June 25, 2021 10:25
Show Gist options
  • Save wtmujeebu/d31e31213c51cad2aaea3130e1d7deb6 to your computer and use it in GitHub Desktop.
Save wtmujeebu/d31e31213c51cad2aaea3130e1d7deb6 to your computer and use it in GitHub Desktop.
Google Product Feed - Export and Import with WooCommerce product import export by WebToffee
<?php
add_filter('wt_woocommerce_product_importer_pre_parse_data', 'wt_woocommerce_product_importer_pre_parse_feed_data');
function wt_woocommerce_product_importer_pre_parse_feed_data($mapped_data) {
$wt_gpf_data_array = array('meta:wt_gpf_title', 'meta:wt_gpf_availability', 'meta:wt_gpf_brand', 'meta:wt_gpf_mpn', 'meta:wt_gpf_product_type', 'meta:wt_gpf_google_product_category', 'meta:wt_gpf_size_system');
$gpf_data = array();
foreach ($mapped_data as $mkey => $mvalue) {
if (in_array($mkey, $wt_gpf_data_array)) {
$gpf_key = str_replace('meta:wt_gpf_', '', $mkey);
$gpf_data[$gpf_key] = $mvalue;
unset($mapped_data[$mkey]);
}
}
if (isset($gpf_data['size_system'])) {
$mapped_data['meta:_woocommerce_gpf_data'] = $gpf_data;
}
return $mapped_data;
}
add_filter('hf_alter_product_export_csv_columns', 'hf_alter_product_export_csv_columns', 10, 1);
function hf_alter_product_export_csv_columns($headers) {
$headers['meta:wt_gpf_title'] = 'meta:wt_gpf_title';
$headers['meta:wt_gpf_availability'] = 'meta:wt_gpf_availability';
$headers['meta:wt_gpf_brand'] = 'meta:wt_gpf_brand';
$headers['meta:wt_gpf_mpn'] = 'meta:wt_gpf_mpn';
$headers['meta:wt_gpf_product_type'] = 'meta:wt_gpf_product_type';
$headers['meta:wt_gpf_google_product_category'] = 'meta:wt_gpf_google_product_category';
$headers['meta:wt_gpf_size_system'] = 'meta:wt_gpf_size_system';
return $headers;
}
add_filter('wt_batch_product_export_row_data', 'wt_batch_product_export_row_data', 10, 2);
function wt_batch_product_export_row_data($row, $product) {
$gpf_data = json_decode(maybe_unserialize($product->meta->_woocommerce_gpf_data));
$row['meta:wt_gpf_title'] = $gpf_data->title;
$row['meta:wt_gpf_availability'] = $gpf_data->availability;
$row['meta:wt_gpf_brand'] = $gpf_data->brand;
$row['meta:wt_gpf_mpn'] = $gpf_data->mpn;
$row['meta:wt_gpf_product_type'] = $gpf_data->product_type;
$row['meta:wt_gpf_google_product_category'] = $gpf_data->google_product_category;
$row['meta:wt_gpf_size_system'] = $gpf_data->size_system;
return $row;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment