WooCommerce 管理员订单日期按关联订单预订日期过滤

时间:2021-04-30 10:25:59

标签: woocommerce woocommerce-bookings

我需要按相关的 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;
}

我想我在过滤功能中遗漏了一些无法检索相关预订开始日期的内容。

先谢谢你!

0 个答案:

没有答案