• Решено Bayrhake

    (@bayrhake)


    Хочу удалить фильтр проверки целого числа в количестве товара.

    remove_filter('woocommerce_stock_amount', 'intval');

    Если я этот код использую через плагин Сode snippets, то всё отлично — он работает.
    Но стоит вставить в файл функций темы или в плагин — уже нет.
    Пробовал менять приоритеты, ставил и 1 и 99999 — нет результата.

    ЧЯДНТ?

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Модератор Юрій

    (@yube)

    ЧЯДНТ?

    Возможно, удаляете фильтр ДО ТОГО, как он установлен. Попробуйте повесить remove_filter на хук, срабатывающий позже, чем вызывается соотв. add_filter.

    Автор Bayrhake

    (@bayrhake)

    Возможно, удаляете фильтр ДО ТОГО, как он установлен.

    Я тоже так подумал и поэтому пробовал менять приоритеты, но толку нет. Приоритеты же для этого?

    Попробуйте повесить remove_filter на хук, срабатывающий позже, чем вызывается соотв. add_filter.

    Если приоритеты не для этого, то не подскажете как это сделать?

    Если я правильно понял, то этот фильтр устанавливается в includes/wc-core-functions.php

    • Ответ изменён 3 года назад пользователем Bayrhake.
    Модератор Юрій

    (@yube)

    Приоритеты же для этого?

    Нет. Приоритеты определяют порядок выполнения обработчиков заданного хука.

    как это сделать?

    Как-то так:

    add_action('woocommerce_loaded', function() {
        remove_filter('woocommerce_stock_amount', 'intval');
    });
    

    Если с хуком ‘woocommerce_loaded’ не сработает, пробуйте другие.

    фильтр устанавливается в includes/wc-core-functions.php

    Важно не где, а когда.

    Автор Bayrhake

    (@bayrhake)

    Как-то так:

    Спасибо больше, это помогло.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Фильтр в плагине не срабатывает» закрыта для новых ответов.