Билеты на событие Tribe tribe_is_event() всегда false

#wordpress #woocommerce #e-commerce #tribe-event-tickets

#wordpress #woocommerce #электронная коммерция #tribe-event-tickets

Вопрос:

Я пытаюсь определить, являются ли какие-либо товары в корзине покупок Woocommerce событиями или нет. tribe_is_event() Функция, похоже, работает не так, как ожидалось, поскольку она всегда возвращает false . Я думаю, я неправильно понимаю его использование.

Далее я перебираю все элементы корзины и просто повторяю, является ли это событием или нет. Он всегда возвращает «Это обычный продукт», независимо от типа продукта.

 add_action('woocommerce_before_checkout_form', function ($checkout) {
    $items = WC()->cart->get_cart();

    foreach ($items as $item => $values) {
        $post_id = $values['data']->get_id();

        // Why does this not work?
        if(tribe_is_event($post_id)){
            echo 'This is an event!';
        }else{
            echo 'This is normal product';
        }
    }
});

  

Я зарегистрировал $post_id , чтобы убедиться, что это действительно идентификатор продукта, который я думаю. Я прочитал, что смог найти в Интернете об этой функции. Я чувствую, что это должно сработать, сообщая мне, является ли продукт событием.

Любая помощь была бы отличной 🙂

Комментарии:

1. Что вы получите, если просто запустите следующую строку кода с существующим идентификатором записи? tribe_is_event( EXISTING POST ID ); Обычно вы можете решить проблемы такого рода, создавая свой код шаг за шагом и каждый раз проверяя, продолжает ли результат работать, таким образом, вы знаете, где что-то пошло не так

2. @7uc1f3r, о котором я упоминал в случае, я зарегистрировал $post_id , чтобы убедиться, что он существует. Если я использую функцию с идентификатором post события, который на 100% существует как событие, я получаю false . Если вы просите меня сделать что-то еще, я прошу прощения!