Использование фильтра the_title
, как вы это сделали, должно работать нормально (я только что проверил и подтвердил, что он работает на моем локальном сайте).
Фактически, иногда это может быть проблематичным фильтром, потому что люди ожидают, что он будет фильтровать только заголовок страницы, но в действительности он фильтрует the_title
всякий раз, когда он извлекается из базы данных, включая заголовок страницы, хлебные крошки, имя элемента меню и т. д.
Тем не менее, если не работает по какой-то причине, у Genesis есть удобный класс Genesis_Breadcrumb
.В частности, он имеет фильтр genesis_breadcrumb_args
, который позволяет удалить «Вы здесь:» и т. Д. При условии, что используемая тема реализует Хлебные крошки Genesis , а не некоторые пользовательскиете, у вас фактически есть доступ к менее используемому фильтру genesis_build_crumbs
.
Метод build_crumbs()
возвращает массив имен страниц / записей, которые вы можете изменить, используя простой цикл foreach
или array_map.
Примите следующую функцию:
function so52299149_breadcrumbs( $crumbs ) {
$new_crumbs = array_map( function($val){
return do_shortcode( $val );
}, $crumbs);
return $new_crumbs;
}
add_filter( 'genesis_build_crumbs', 'so52299149_breadcrumbs' );
Для этого нужно запустить каждый элемент в массиве $crumbs
через функцию do_shortcode()
, давая вам желаемый результат.Опять же, как у вас, add_filter( 'the_title', 'do_shortcode' );
должно работать - так что проверьте, как используемая вами дочерняя тема реализует панировочные сухари, особенно если не работает вышеуказанная функция - если это так, то естьскорее всего, что-то еще в игре.