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; }
Вот таким макаром работает. Условия тогда тут же и буду прописывать.
Вы не имеете права на публикацию сообщений в этой теме