У меня есть пользовательское поле postmeta
, которое хранит сообщение/product_id сериализованным способом. Пример _related_ids
=>a:4:{i:0;i:2462;i:1;i:2466;i:2;i:2469;i:3;i:2472;}
WooCommerce Custom Product Column Sortable Backed not working
Я покажу товар product_id _related_ids
в окне списка товаров WooCommerce (Backed), который работает нормально. Теперь я хочу сделать эту колонку отсортированной. Поэтому я пишу функцию related_product_col_sort
, которая подключена к manage_edit-product_sortable_columns
. Короткое замыкание не работает. (не работает означает, что он не заказывает product_id правильно).
Вот мой полный код
//_related_ids => a:4:{i:0;i:2462;i:1;i:2466;i:2;i:2469;i:3;i:2472;}
//manage_product_posts_custom_column
add_filter('manage_edit-product_columns', 'related_product_col');
function related_product_col($columns) {
$new_columns = (is_array($columns)) ? $columns : array();
$new_columns['RELATED'] = 'Related Product';
return $new_columns;
}
add_action('manage_product_posts_custom_column', 'related_product_col_data', 2);
function related_product_col_data($column) {
global $post;
$related_product_ids = get_post_meta($post->ID, '_related_ids', true);
if ($column == 'RELATED') {
if (isset($related_product_ids) && !empty($related_product_ids)) {
echo count($related_product_ids);
} else {
echo "--";
}
}
}
add_filter("manage_edit-product_sortable_columns", 'related_product_col_sort');
function related_product_col_sort($columns) {
$custom = array(
'RELATED' => '_related_ids'
);
return wp_parse_args($custom, $columns);
}
Может кто-нибудь помочь мне с правильной логики/код с related_product_col_sort
функции.
Спасибо.
Я думаю, Я понял, где я ошибаюсь, попробую это и обновит вас. и я использую родственный плагин продукта, который хранит значение в сериализованном виде, я думаю, что мне нужно отредактировать плагин, чтобы упростить упорядочиваемую логику. Благодарю. –