Как изменить содержимое хлебных крошек WooCommerce?
Я хочу настроить хлебные крошки непосредственно через PHP. Некоторые страницы генерируются динамически и не существуют в базе данных, поэтому мне нужно автоматически добавлять их в хлебные крошки с помощью PHP-скрипта.
Мне не нужно менять стандартные вещи, такие как URL главной страницы, разделители и т.д... но мне действительно нужно вручную добавлять некоторые страницы в хлебные крошки. Я пытался использовать некоторые фильтры и хуки.
Я прочитал документацию, но там объясняется только как изменить стандартные параметры.
Как я могу изменить фактическое содержимое хлебных крошек?
Я попробовал следующее:
add_filter( 'woocommerce_breadcrumb', 'change_breadcrumb' );
function change_breadcrumb( $defaults ) {
// Изменить текст домашней страницы с 'Home' на 'Квартира'
//что-то сделать
return $defaults;
}
Но //что-то сделать
никогда не выполняется. Как будто этот фильтр никогда не вызывается

Это связано с тем, что ваш фильтр woocommerce_breadcrumb
даже не существует.
Этот фильтр работает и извлекает все элементы, которые в данный момент находятся в хлебных крошках (в виде массива):
add_filter( 'woocommerce_get_breadcrumb', 'change_breadcrumb' );
function change_breadcrumb( $crumbs ) {
var_dump( $crumbs );
return $crumbs;
}
А этот фильтр извлекает основной термин
(в виде объекта).
add_filter( 'woocommerce_breadcrumb_main_term', 'change_breadcrumb' );
function change_breadcrumb( $main_term ) {
var_dump( $main_term );
return $main_term;
}
'Основной термин' — это просто первый элемент, возвращаемый этой функцией (ссылка):
$terms = wc_get_product_terms( $post->ID, 'product_cat', array( 'orderby' => 'parent', 'order' => 'DESC' ) )
Смотрите Справочник по хукам действий и фильтров от woothemes для всех хуков и фильтров.
