Iconi c Слоты доставки - отключение дат в окне выбора даты в зависимости от выбранного способа доставки - PullRequest
0 голосов
/ 08 мая 2020

У меня есть два способа доставки: самовывоз и фиксированная ставка. Я хочу изменить доступные даты в зависимости от способа доставки. Например, нет фиксированных ставок 31 мая 2020 г. и разрешено получение 31 мая 2020 г.

function iconic_modify_delivery_dates($available_dates) {
$chosen_shipping = $order ? iconic_get_order_shipping_method( $order ) : iconic_get_selected_shipping_method();

if ( ! $chosen_shipping ) {
    return $available_dates;
}

if ( $chosen_shipping === 'local_pickup:3' ) {
    return $available_dates;
}

if ( $chosen_shipping === 'flat_rate:1' ) {
    echo "<script>console.log('Delivery Chosen');</script>";
    if (($key = array_search('31 May 2020, Sunday', $available_dates)) !== false) {

        unset($available_dates[$key]);
        echo "<script>console.log('" . json_encode($available_dates) . "');</script>";

    }
}

if ( $chosen_shipping === 'free_shipping:4' ) {
    echo "<script>console.log('Delivery Chosen');</script>";
    if (($key = array_search('31 May 2020, Sunday', $available_dates)) !== false) {

        unset($available_dates[$key]);
        echo "<script>console.log('" . json_encode($available_dates) . "');</script>";

    }
}

return $available_dates;}add_filter( 'iconic_wds_available_dates', 'iconic_modify_delivery_dates');

Я пробовал это до сих пор, но это работает только при первой загрузке страницы. Переключение между способами доставки или выбор даты сбрасывает массив $ available_dates, и 31 мая 2020 можно снова выбрать.

Я не очень знаком с хуками и пытался связаться с разработчиком плагина.

Вы можете отфильтровать доступные для бронирования даты, используя фильтр iconic_wds_available_dates. Затем проверьте текущий выбранный способ доставки и удалите дату "не бронируется" из массива дат. https://docs.iconicwp.com/article/196-available-hooks-actions-and-filters

Это был его совет.

Как я могу гарантировать, что фильтр применяется каждый раз? Будем очень признательны за любые указатели!

31 мая 2020 г. нельзя выбрать при первой загрузке

Возврат к выбору при изменении способа доставки или выборе любой даты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...