WordPress как на ладони

Хлебные крошки в WooCommerce

При использовании Астры, как родительской темы столкнулся с проблемой в своей дочерней теме. На странице с единичным товаром, появляются хлебные крошки в области с названием продукта. Когда использую стандартный хук для отключения, он не срабатывает

remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 );

Второй день пытаюсь решить проблему, в общем в файле class-astra-woocommerce.php есть функция

    public function single_product_customization() {

		if ( ! is_product() ) {
			return;
		}

		add_filter( 'woocommerce_product_description_heading', '__return_false' );
		add_filter( 'woocommerce_product_additional_information_heading', '__return_false' );

		// Breadcrumb.
		remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
		if ( ! astra_get_option( 'single-product-breadcrumb-disable' ) ) {
			add_action( 'woocommerce_single_product_summary', 'woocommerce_breadcrumb', 2 );
		}
	}

Когда я в своем фанкшн.пхп пытаюсь привязаться к хуку woocommerce_single_product_summary чтобы удалить крошки он не срабатывает- делаю так:

remove_action('woocommerce_single_product_summary', 'woocommerce_breadcrumb', 2 );

Но если из этого файла насильно удаляю эту функцию, тогда крошки пропадают.

Как мне отключить функцию, вызывающую крошки?

Заметки к вопросу:
artikus 4 месяца назад

Через настройки темы не пробовали отключать? Вон же astra_get_option( 'single-product-breadcrumb-disable' ) проверка на опцию стоит. ну еще вариант, что эти хуки завернуты в класс и просто так их не выключить, только костылями

1
Efim
4 месяца назад
  • 0
    stepan2063 www.weblancer.net/users/stepanko/?affili...
    astra_get_option( 'single-product-breadcrumb-disable' )

    Крошки отключаются с админки.
    Или вы хотите кодом и ТОЛЬКО на страницах с товарами?

    Когда именно откл хук?
    Попробуйте так:

    function mytheme_setup() {
    	add_action( 'woocommerce_single_product_summary', 'woocommerce_breadcrumb', 2 );
    }
    add_action( 'after_setup_theme', 'mytheme_setup', 999 );
    Efim 4 месяца назад

    Вот именно, что в админке отключил крошки, через хуки могу отключить-подключить в нужном месте свои, но эти никак не убираются. Ваша функция, наоборот вызывает крошки в том месте где я их убрать не могу)
    временно помогло в файле class-astra-woocommerce.php поменять строчку с

    if ( ! astra_get_option( 'single-product-breadcrumb-disable' )

    на

    if (astra_get_option( 'single-product-breadcrumb-disable' )

    , но это не выход

    stepan 4 месяца назад

    Пишите разработчикам темы.
    Они помогут, подскажут

    stepan 4 месяца назад

    Мой код
    Там нужно
    Remove action
    И крошки должны отключаться.
    Не работает?

    Efim 4 месяца назад

    Нет, пробовал

    Efim 4 месяца назад

    Ваш код в файле фанкшн пхп

    function mytheme_setup() {
    	remove_action( 'woocommerce_single_product_summary', 'woocommerce_breadcrumb', 2 );
    }
    add_action( 'after_setup_theme', 'mytheme_setup', 999 );

    Вот галочкой отмечены мои, отвязанные и перенесенные хуком куда нужно, подчеркнутые- крошки с темы, которые никуда не деваются

    stepan 4 месяца назад

    Значит нужно remove_action вызывать ещё позже.
    Попробуйте в самом файле добавить, где выводиться крошки.
    Если уберутся - тогда искать хук в шаблоне, где можно добавить remove_action

    stepan 4 месяца назад

    Получилось с крошками разобраться?

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация