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, но в результате заголовок получается "стандартный" (Постнэйм - Сайтнэйм), а мой заголовок становиться прямиком перед тегом (см. скриншот -
Вы не можете просматривать опубликованные ссылки
).
Fatal error: Uncaught Error: Call to undefined function ads_get_box() in /var/www/www-root/data/www/codeseller.ru/wp-content/themes/codeseller/includes/adv.php:15 Stack trace: #0 /var/www/www-root/data/www/codeseller.ru/wp-includes/class-wp-hook.php(310): add_adv_content_after_first_forum_post('pfm-single-post...', '/var/www/www-ro...') #1 /var/www/www-root/data/www/codeseller.ru/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters('', Array) #2 /var/www/www-root/data/www/codeseller.ru/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #3 /var/www/www-root/data/www/codeseller.ru/wp-content/plugins/wp-recall/functions/files.php(57): do_action('rcl_include_tem...', 'pfm-single-post...', '/var/www/www-ro...') #4 /var/www/www-root/data/www/codeseller.ru/wp-content/plugins/wp-recall/add-on/prime-forum/functions-templates.php(117): rcl_include_template('pfm-single-post...', '/var/www/www-ro...') #5 /var/www/www-root/data/www/codeseller.ru/wp-content/plugins/wp-recall/add-on/prime-forum/themes/prime-first/templates/pfm in /var/www/www-root/data/www/codeseller.ru/wp-content/themes/codeseller/includes/adv.php on line 15