-
-
Save danielimmke/a0846d046a09adeca2921d5710aa7516 to your computer and use it in GitHub Desktop.
This file contains 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 | |
// 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