Created
March 13, 2022 02:42
-
-
Save freddielore/2dc3f1d147e70943c0be443028227197 to your computer and use it in GitHub Desktop.
Export WooCommerce GTIN/ISBN/MPN info to CSV for bulk editing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** Originally from https://labs.freddielore.com/how-to-export-yoast-woocommerce-gtin-data-to-csv-for-bulk-import/ | |
*/ | |
// add `gtin8`, `gtin12`, `gtin13`, `gtin14`, `isbn`, `mpn` columns in CSV export | |
add_filter( 'smart_seo_export_fields', 'demo_export_yoast_gtin_data', 8, 1 ); | |
function demo_export_yoast_gtin_data( $fields ){ | |
$fields[] = array( 'gtin8', 'demo_get_gtin8' ); | |
$fields[] = array( 'gtin12', 'demo_get_gtin12' ); | |
$fields[] = array( 'gtin13', 'demo_get_gtin13' ); | |
$fields[] = array( 'gtin14', 'demo_get_gtin14' ); | |
$fields[] = array( 'isbn', 'demo_get_isbn' ); | |
$fields[] = array( 'mpn', 'demo_get_mpn' ); | |
return $fields; | |
} | |
function demo_get_gtin8( $post ){ | |
$yoast_gtin_data = get_post_meta( $post->ID, 'wpseo_global_identifier_values', true ); | |
$yoast_gtin_data = maybe_unserialize( $yoast_gtin_data ); | |
return $yoast_gtin_data['gtin8']; | |
} | |
function demo_get_gtin12( $post ){ | |
$yoast_gtin_data = get_post_meta( $post->ID, 'wpseo_global_identifier_values', true ); | |
$yoast_gtin_data = maybe_unserialize( $yoast_gtin_data ); | |
return $yoast_gtin_data['gtin12']; | |
} | |
function demo_get_gtin13( $post ){ | |
$yoast_gtin_data = get_post_meta( $post->ID, 'wpseo_global_identifier_values', true ); | |
$yoast_gtin_data = maybe_unserialize( $yoast_gtin_data ); | |
return $yoast_gtin_data['gtin13']; | |
} | |
function demo_get_gtin14( $post ){ | |
$yoast_gtin_data = get_post_meta( $post->ID, 'wpseo_global_identifier_values', true ); | |
$yoast_gtin_data = maybe_unserialize( $yoast_gtin_data ); | |
return $yoast_gtin_data['gtin14']; | |
} | |
function demo_get_isbn( $post ){ | |
$yoast_gtin_data = get_post_meta( $post->ID, 'wpseo_global_identifier_values', true ); | |
$yoast_gtin_data = maybe_unserialize( $yoast_gtin_data ); | |
return $yoast_gtin_data['isbn']; | |
} | |
function demo_get_mpn( $post ){ | |
$yoast_gtin_data = get_post_meta( $post->ID, 'wpseo_global_identifier_values', true ); | |
$yoast_gtin_data = maybe_unserialize( $yoast_gtin_data ); | |
return $yoast_gtin_data['mpn']; | |
} | |
// tell the importer to process those columns during CSV import | |
add_action( 'smart_seo_import_update', 'demo_import_yoast_gtin_data', 10, 3 ); | |
function demo_import_yoast_gtin_data($post_id, $data, $headings){ | |
$yoast_gtin = array( | |
'gtin8' => $data['gtin8'], | |
'gtin12' => $data['gtin12'], | |
'gtin13' => $data['gtin13'], | |
'gtin14' => $data['gtin14'], | |
'isbn' => $data['isbn'], | |
'mpn' => $data['mpn'] | |
); | |
update_post_meta( $post_id, 'wpseo_global_identifier_values', $yoast_gtin ); | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment