我创建了一个自定义操作按钮" 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;
}
答案 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)
这应该有效。在我身边测试过!