Оплатите заказ Woocommerce без ?pay_for_order=true

#woocommerce #payment

Вопрос:

У меня есть этот код, и я хотел увеличить доход на своем веб-сайте, чтобы люди могли оплачивать отправку по URL-адресу без параметра pay_for_order и wc_order_{номер ключа}

попытался добавить этот код и удалить параметры в URL, но он показывает, что заказ не может быть оплачен ошибка

Есть ли какой-нибудь способ позволить людям платить с помощью этой структуры URL-адресов?

Например : https://domainname.com/checkout/order-pay/48055/

 function your_custom_function_name($allcaps, $caps, $args)
{
if (isset($caps[0])) {
    switch ($caps[0]) {
    case 'pay_for_order':
        $user_id = $args[1];
        $order_id = isset($args[2]) ? $args[2] : null;

        // When no order ID, we assume it's a new order
        // and thus, customer can pay for it

        if (!$order_id) {
            $allcaps['pay_for_order'] = true;
            break;
        }

        $user = get_userdata($user_id);
        if (in_array('administrator', (array)$user->roles)) {
            $allcaps['pay_for_order'] = true;
        }

        $order = wc_get_order($order_id);
        if ($order amp;amp; ($user_id == $order->get_user_id() || !$order - > get_user_id())) {
            $allcaps['pay_for_order'] = true;
        }

        break;
    }
}

return $allcaps;
}

add_filter('user_has_cap', 'your_custom_function_name', 10, 3);