Пользовательская сортировка столбцов в Woocommerce HPOSPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Пользовательская сортировка столбцов в Woocommerce HPOS

Сообщение Anonymous »

Недавно я обновил веб-сайт Wordpress Woocommerce для использования HPOS и обнаружил, что пользовательская сортировка столбцов больше не работает. Я читал, что хук действия pre_get_posts больше не работает с HPOS. Как я смогу сортировать столбцы даты доставки и имени клиента по возрастанию и убыванию?
Вот часть кода на данный момент:
// Add Custom Column Names after Order Status
add_filter( 'manage_woocommerce_page_wc-orders_columns', 'add_wc_order_list_custom_column' );
function add_wc_order_list_custom_column( $columns ) {
$reordered_columns = array();

// Inserting columns to a specific location
foreach( $columns as $key => $column){
$reordered_columns[$key] = $column;

if( $key === 'order_status' ){
// Inserting after "Status" column
$reordered_columns['delivery_date'] = __( 'Delivery Date', 'my-textdomain');
$reordered_columns['customer_user'] = __( 'Customer', 'my-textdomain');
}
}
return $reordered_columns;
}

// Insert Value for Custom Columns
add_action('manage_woocommerce_page_wc-orders_custom_column', 'display_wc_order_list_custom_column_content', 10, 2);
function display_wc_order_list_custom_column_content( $column, $order ){
switch ( $column )
{
case 'delivery_date' :
// Get custom order metadata
$value = $order->get_meta('_delivery_date');

if ( ! empty($value) ) {
echo date('F j, Y', strtotime($value));
}
// For testing (to be removed) - Empty value case
else {
echo '(no value)';
}
break;

case 'customer_user' :
// Get custom order metadata
$value = $order->get_shipping_last_name();

if ( ! empty($value) ) {
echo $value;
}
// For testing (to be removed) - Empty value case
else {
echo '(no value)';
}
break;
}
}

// Make Columns Sortable
add_filter( "woocommerce_shop_order_list_table_sortable_columns", 'custom_woo_admin_sort' );
function custom_woo_admin_sort( $columns )
{
$custom = array(
'delivery_date' => '_delivery_date',
'order_status' => 'order_status',
'customer_user' => 'customer_user'
);
return wp_parse_args( $custom, $columns );
}

// Sort Meta Keys and Values based on the query

Подробнее здесь: https://stackoverflow.com/questions/786 ... merce-hpos
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»