WooCommerce: переменная массовых действий заказа магазина устанавливает переменную при клике

Я создал специальное массовое действие WooCommerce для своих заказов. Теперь у меня вопрос: можно ли проверить, когда массовое действие нажимается в бэкэнде? Потому что, когда мое настраиваемое действие срабатывает, я хочу добавить мета к выбранному порядку. Мне просто нужно знать, возможно ли это, и если да, как я могу подключиться к функции выбора?

Код:

/**
* Add custom bulk actions in woocommerce order overview
*/
add_filter( 'bulk_actions-edit-shop_order', 'custom_shop_order_bulk_actions', 999 );
function custom_shop_order_bulk_actions( $actions ) {
//Remove on hold, personal data and processing status mark
unset( $actions['mark_on-hold'], $actions['remove_personal_data'], $actions['mark_processing'] );

$actions['invoice-external']    = __( 'PDF Rechnung Extern' );

return $actions;
}

Мое предложение:

add_filter( 'hook_into_bulk_action-invoice-external', 'do_something' )
function do_something() {
global $abc = 1;
}

1

Решение

Ты можешь использовать handle_bulk_actions-edit-shop_order фильтр-хук таким образом:

// Process the bulk action from selected orders
add_filter( 'handle_bulk_actions-edit-shop_order', 'process_bulk_actions_edit_shop_order', 10, 3 );
function process_bulk_actions_edit_shop_order( $redirect_to, $action, $post_ids ) {
if ( $action === 'invoice-external' ){
// Add (or update) order post meta data
update_post_meta( $post_id, '_your_meta_key', $some_value );
}
return $redirect_to;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Это должно работать.

Смотрите этот связанный ответ: Обработка пользовательских массовых действий в списке заказов администратора в Woocommerce

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector