field_name ] */ public static function mla_list_table_bulk_action_initial_request( $request, $bulk_action, $custom_field_map ) { //error_log( "MLABulkEditRemapExample::mla_list_table_bulk_action_initial_request( {$bulk_action} ) request = " . var_export( $request, true ), 0 ); //error_log( "MLABulkEditRemapExample::mla_list_table_bulk_action_initial_request( {$bulk_action} ) custom_field_map = " . var_export( $custom_field_map, true ), 0 ); if ( isset( $request['screen'] ) && 'async-upload' == $request['screen'] ) { self::$remap_array = $request['cb_attachment']; } return $request; } // mla_list_table_bulk_action_initial_request /** * Logic in mla_list_table_bulk_action_initial_request() determines when mla_list_table_end_bulk_action * will (re)execute the mappping rules. * * @since 1.00 * * @var array */ private static $remap_array = array(); /** * End an MLA_List_Table bulk action * * This filter executes the (re)mapping when new items are added to the Media Library. * * @since 1.01 * * @param NULL $item_content NULL, indicating no handler. * @param string $bulk_action The requested action. */ public static function mla_list_table_end_bulk_action( $item_content, $bulk_action ) { //error_log( "MLABulkEditRemapExample::mla_list_table_end_bulk_action( $bulk_action ) remap_array = " . var_export( self::$remap_array, true ), 0 ); /* * This example reruns the Standard and Custom IPTC/EXIF rules, but not the Taxonomy rules because * they might overwrite changes made in the Bulk Edit process. */ foreach( self::$remap_array as $post_id ) { $item = get_post( $post_id ); $updates = MLAOptions::mla_evaluate_iptc_exif_mapping( $item, 'iptc_exif_standard_mapping' ); $updates = array_merge( $updates, MLAOptions::mla_evaluate_iptc_exif_mapping( $item, 'iptc_exif_custom_mapping' ) ); $custom_updates = MLAOptions::mla_evaluate_custom_field_mapping( $post_id, 'single_attachment_mapping' ); if ( !empty( $custom_updates ) && !empty( $custom_updates['custom_updates'] ) ) { if ( isset( $updates['custom_updates'] ) ) { $updates['custom_updates'] = array_merge( $updates['custom_updates'], $custom_updates['custom_updates'] ); } else { $updates['custom_updates'] = $custom_updates['custom_updates']; } } //error_log( "MLABulkEditRemapExample::mla_list_table_end_bulk_action( $post_id ) updates = " . var_export( $updates, true ), 0 ); $item_content = MLAData::mla_update_single_item( $post_id, $updates ); } return $item_content; } // mla_list_table_end_bulk_action } // Class MLABulkEditRemapExample /* * Install the filters at an early opportunity */ add_action('init', 'MLABulkEditRemapExample::initialize'); ?>