在我的帐户中的WooCommerce订单页面中,在14天后隐藏自定义操作按钮

时间:2018-02-13 08:08:32

标签: php wordpress date woocommerce hook-woocommerce

我创建了一个自定义操作按钮" Request Refund"在WooCommerce的my-account的订单页面上。我在寻找,自订单完成后14天内有没有办法隐藏这个按钮。

我搜索了很多,但没有类似的解决方案。任何帮助将不胜感激。

这是我的代码:

function add_request_refund($actions, $order)
{
    if ($order->has_status('completed'))
    {
        $actions['refund_request'] = array(
            'url' => url_of_request_refund($order),
            'name' => __('Request Refund', 'my-textdomain'),
        );
    }
    return $actions;
}

add_filter('woocommerce_my_account_my_orders_actions', 'add_request_refund', 100, 2);

function url_of_request_refund($order)
{

    $page_id = 4007;
    $refund_url = trailingslashit(get_page_link($page_id)) . '?order=' . $order->get_order_number();
    return $refund_url;
}

2 个答案:

答案 0 :(得分:2)

  

如果您想在订单日期的14天后隐藏按钮,那么   您只需在if块中添加一个小支票,即可。

以下是示例代码:

function add_request_refund($actions, $order)
{
    $order_date = date_create($order->get_date_created()->date('Y-m-d'));
    $current_date = date_create(date('Y-m-d'));


    $diff = date_diff($order_date, $current_date);
    //print_r($diff);

    if ($order->has_status('completed') && ($diff->days <= 14)) //check this line
    {
        $actions['refund_request'] = array(
        'url'  => url_of_request_refund( $order ),
            'name' => __('Request Refund', 'my-textdomain'),
        );
    }
    return $actions;
}

add_filter('woocommerce_my_account_my_orders_actions', 'add_request_refund', 100, 2);

Refrence:

希望这有帮助!

答案 1 :(得分:1)

TaskImage.objects.filter(task_id=1)

这应该有效。在我身边测试过!