Skip to content

Instantly share code, notes, and snippets.

@danielimmke
Created December 9, 2017 18:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danielimmke/a0846d046a09adeca2921d5710aa7516 to your computer and use it in GitHub Desktop.
Save danielimmke/a0846d046a09adeca2921d5710aa7516 to your computer and use it in GitHub Desktop.
<?php
// Maps core part numbers to force sell after importing is finished.
add_action('pmxi_after_xml_import', 'danieldo_core_fees', 10, 1);
function danieldo_core_fees($post) {
// Grab every product that was imported with a core fee
$core_query = new WP_Query( array(
'post_type' => 'product',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'core_fee',
'value' => '',
'compare' => '!=',
),
),
) );
$products = $core_query->posts;
foreach ($products as $product) {
$core_id = get_post_meta($product->ID, 'core_fee', true);
// Grab a post object by the core fee ID
$core_fee = get_page_by_title( strval($core_id), OBJECT, 'product' );
// Add the ID to a special custom field for the Force Sells plugin.
add_post_meta($product->ID, '_force_sell_synced_ids', array($core_fee->ID), true);
// Disable visibiity on core fees so they won't show up where they aren't supposed to by default.
wp_set_object_terms( $core_fee->ID, array('exclude-from-catalog', 'exclude-from-search'), 'product_visibility', true );
// Remove original custom field to keep things tidy
delete_post_meta($product->ID, 'core_fee');
}
} ?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment