Я хочу добавить собственный стиль в таблицу списка заказов для определенных строк на основе значения метаданных. Мой код отлично работает с устаревшей опцией хранения данных заказа. Однако при включенном HPOS фильтр вообще не срабатывает. Есть ли какой-либо аналогичный фильтр, который можно использовать, или единственный способ — использовать jQuery и вызывать API для каждой строки, чтобы получить эту информацию?
function addCssClassToOrderListRow($classes, $class, $post_id)
{
if ('shop_order' === OrderUtil::get_order_type( $post_id ) && is_admin()) {
$order = wc_get_order($post_id);
$meta_value = $order->get_meta('my_meta_key', true);
if (!empty($meta_value)) {
// Add a custom class
$classes[] = 'custom_class';
}
}
return $classes;
}
add_filter('post_class', 'addCssClassToOrderListRow', 10, 3);
Вы можете использовать крючок woocommerce_shop_order_list_table_order_css_classes
вот так
function addCssClassToOrderListRow($classes, $order){
$meta_value = $order->get_meta('my_meta_key', true);
if (!empty($meta_value)) {
// Add a custom class
$classes[] = 'custom_class';
}
return $classes;
}
add_filter( 'woocommerce_shop_order_list_table_order_css_classes', 'addCssClassToOrderListRow', 10, 2 );