autoship_deactivate_sync_bulk_handler (function)
(src/product-page.php) Handles the Autoship All Products Deactivate for Sync Action. It takes a $redirect_url, the current $action being performed, and the Product Ids ($post_ids) as its parameters, returning the $redirect_url.
Function
/**
* Handles the Autoship All Products Deactivate Sync Bulk Action
* @param string $redirect_url The url to redirect user to after done.
* @param string $action The current action being performed.
* @param array $post_ids The selected post ids being performed against.
*
* @return string The redirect url.
*/
function autoship_deactivate_sync_bulk_action_handler( $redirect_url, $action, $post_ids ){
// Go through the ids and deactivate the products.
$updated = $not_updated = array();
foreach ( $post_ids as $post_id ) {
if ( !autoship_is_valid_sync_post_type( $post_id ) ) {
$not_updated[] = $post_id;
continue;
}
// Enable the option
$result = autoship_set_product_sync_active_enabled ( $post_id ,'no' );
// Update the Simple, Variable or Variation in QPilot.
$result = autoship_push_product ( $post_id );
$updated[] = $post_id;
}
$notice = sprintf( __('<h3>Autoship Cloud Bulk Action</h3><p><strong>%d Products Deactivated</strong> from synchronizing with QPilot.</p>', 'autoship'), count( $updated ) );
if ( !empty( $not_updated ) )
$notice .= sprintf( __('<hr/><p>%d Products were not updated since they were not valid QPilot product types.</p>', 'autoship'), count( $not_updated ) );
autoship_add_message( $notice, 'autoship-general-notice' , 'autoship_all_products_bulk_action_messages' );
do_action( 'autoship_after_all_products_autoship_deactivate_sync_bulk_action', $post_ids, $action, $redirect_url );
return $redirect_url;
}