5ответ(ов) в теме
Доброго дня! Пытаюсь решить следующую задачку:
Есть произвольный тип записи "Новость" и есть пользовательская таксономия для этого типа записей. Также установлен плагин SEO by Yoast.
Необходимо переопределить заголовки, которые генерируются плагином SEO. Для разных категорий различные шаблоны формирования title.
Решение: у Yoast есть хук wpseo_title, к которому можно прицепить функцию. Делаю так:
add_filter('wpseo_title', 'new_wpseo_title');
function new_wpseo_title($title) {
if( is_singular( 'news') ) {
$title = get_template_part( 'include/seo', 'title' );
}
return $title;
}
Шаблоны вывода пишу в файле include/seo-titl.php
<?php
if ( has_term(array('68','69'), 'news_category') ) {
echo 'Свой SEO Title 1';
} elseif ( has_term(array('70'), 'news_category') ) {
echo 'Свой SEO Title 2';
} else {
echo 'условие не подходит';
}
?>
Проблема: фильтр переписывает title от плагина yoast, но в результате заголовок получается "стандартный" (Постнэйм - Сайтнэйм), а мой заголовок становиться прямиком перед тегом (см. скриншот -
Вы не можете просматривать опубликованные ссылки
).
Ура товарищи. С горем-пополам разобрался)
add_filter('wpseo_title ', 'new_title_filter', 10 );
function new_title_filter($title) {
if ( is_singular() && has_term(array(68,69), 'news_category') ) {
$title = "Заголовок записи которая находится в термине 68 или 69 у таксономии news_category";
}
return $title;
}
Вот таким макаром работает. Условия тогда тут же и буду прописывать.
Вы не имеете права на публикацию сообщений в этой теме