Какой доступный хук после массового сохранения продуктов завершен в Woocommerce - PullRequest
0 голосов
/ 18 ноября 2018

Я настроил функцию массового редактирования, используя

add_action('woocommerce_product_bulk_edit_start', function () {
    // ...
}, 10, 0);

add_action('woocommerce_product_bulk_edit_save', function ($product) {
    // ...
}, 10, 1);

Я хотел бы выполнить дальнейшую обработку после сохранения всех продуктов. Есть ли крюк, который я могу связать для этого?

Любые указатели приветствуются.

Уточнение: Мне нужен доступ ко всей информации, отправленной в запросе массового редактирования (значения полей массового редактирования, идентификаторы продуктов и т. Д.).

1 Ответ

0 голосов
/ 19 ноября 2018

Вы можете использовать Wordpress admin_init action hook, как в этом примере, где после сохранения продуктов отображается пользовательское сообщение:

add_action( 'admin_init', 'after_bulk_edit_products_save' );
function after_bulk_edit_products_save() {
    global $pagenow;

    if( $pagenow === 'edit.php' && isset($_GET['post_type']) && $_GET['post_type'] === 'product'
    && isset($_GET['paged']) && ( isset($_GET['updated']) || isset($_GET['skipped']) || isset($_GET['locked']) ) ) {
        add_action( 'admin_notices', 'custom_bulk_action_admin_notice' );
    }
}

function custom_bulk_action_admin_notice() {
    echo '<div id="message" class="updated"><p>This is a custom message displayed after save</p></div>';
}

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

enter image description here

Вы можете получить из $_GET следующие переменные (всегда используйте isset(), чтобы избежать ошибок) :

  • $_GET['post_type'] - тип сообщения "product"
  • $_GET['paged'] - значение по умолчанию "1" самое большее
  • $_GET['updated'] - количество продуктов, «обновленных»
  • $_GET['skipped'] - количество товаров, "пропущенных"
  • $_GET['locked'] - количество товаров, «заблокированных»

Примечание:

У вас есть доступ ко всем данным, представленным для массового редактирования (и быстрое редактирование) в глобальном $_REQUEST.

...