我需要按相关的 WooCommerce 预订开始日期过滤 WooCommerce 管理员订单。
我能够在订单视图中添加日期输入并正确接收获取请求,但无法通过预订开始日期进行过滤...
我不知道该怎么做。
这是我的日期输入代码
if ( is_admin() ) {
add_action( 'restrict_manage_posts', 'ww_restrict_orders', 50 );
function ww_restrict_orders() {
global $typenow;
if ( 'shop_order' != $typenow ) {
return;
}
?>
<input type="date" name="lb_booking_date_filter">
<?php
}
这是我的过滤器代码
add_filter( 'request', 'ww_orders_by_restrict_option', 100 );
function ww_orders_by_restrict_option( $vars ) {
global $typenow;
$key = 'post__not_in';
if ( 'shop_order' == $typenow && isset( $_GET['ww_order_view'] ) ) {
//date filter
if ($_GET['lb_booking_date_filter']) {
if ( ! empty( $key ) ) {
$vars[ $key ] = get_posts( array(
'posts_per_page' => -1,
'post_type' => 'shop_order',
'post_status' => 'any',
'fields' => 'ids',
'orderby' => 'date',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => 'book_start',
'value' => $_GET['lb_booking_date_filter'],
'compare' => '=',
),
),
) );
}
}
}
return $vars;
}
我想我在过滤功能中遗漏了一些无法检索相关预订开始日期的内容。
先谢谢你!