WooCommerce – это популярная платформа электронной коммерции, созданная на базе WordPress и предоставляющая надежное решение для управления интернет-магазином. Одной из его мощных функций является возможность выполнять массовые действия над заказами, например обновлять статусы заказов или применять определенные действия к нескольким заказам одновременно. Однако в стандартной комплектации WooCommerce не предлагает возможности добавлять пользовательские массовые действия. В этой статье мы рассмотрим несколько способов добавления пользовательских опций к действиям по массовым заказам в WooCommerce, а также приведем примеры кода.
Метод 1. Использование фильтра «woocommerce_bulk_actions».
Фильтр «woocommerce_bulk_actions» позволяет добавлять настраиваемые массовые действия на экран списка заказов. Вот пример использования этого фильтра для добавления нового массового действия:
function add_custom_bulk_action($actions)
{
$actions['mark_as_completed'] = 'Mark as Completed';
return $actions;
}
add_filter('woocommerce_bulk_actions', 'add_custom_bulk_action');
Метод 2. Расширение класса «WC_Admin_List_Table».
Вы можете расширить класс «WC_Admin_List_Table», чтобы настроить таблицу списка заказов и добавить новые массовые действия. Вот пример:
class Custom_WC_Admin_List_Table extends WC_Admin_List_Table
{
public function get_bulk_actions()
{
$actions = parent::get_bulk_actions();
$actions['mark_as_completed'] = 'Mark as Completed';
return $actions;
}
}
Метод 3. Использование JavaScript и AJAX.
Если вы предпочитаете более динамичный подход, вы можете использовать JavaScript и AJAX для добавления пользовательских массовых действий. Вот фрагмент кода, демонстрирующий этот метод:
(function ($) {
$(document).ready(function () {
$(document).on('click', '.custom-bulk-action', function () {
var orderIds = [];
// Get selected order IDs
$('.check-column input:checked').each(function () {
orderIds.push($(this).val());
});
// Perform AJAX request
$.ajax({
url: ajaxurl,
type: 'POST',
data: {
action: 'custom_bulk_action',
order_ids: orderIds,
// Additional parameters if needed
},
success: function (response) {
// Handle success response
},
});
});
});
})(jQuery);
Метод 4. Использование плагина.
Если вы предпочитаете более удобное и гибкое решение, вы можете использовать существующие плагины, такие как «Массовые действия WooCommerce» или «Столбцы администратора». Эти плагины предоставляют пользовательский интерфейс для добавления пользовательских массовых действий без написания кода.
Реализуя один из упомянутых выше методов, вы можете улучшить функциональность WooCommerce, добавив пользовательские параметры к действиям по массовым заказам. Независимо от того, решите ли вы использовать фильтр, расширить класс, использовать JavaScript и AJAX или плагин, вы можете настроить массовые действия в соответствии с потребностями вашего бизнеса.