Всем привет. Может кто подскажет. Тема установленная на сайте выводит заголовки с помощью своей функции как я понял. Из за этого на форуме на всех страницах отображается только главный зоголовок заданный в настройках страницы где расположен шорткод прайм форума. Методом тыка и исключений удалось вывести тайтлы через файл function.php в теме.
add_filter( 'the_title', 'my_pfm_replace_title', 9999, 2 );
function my_pfm_replace_title( $title, $post_id ) {
$post_type = get_post_type( $post_id );
if ( $post_type == 'nav_menu_item' || $post_type != 'page' )
return $title;
$pfmTitle = pfm_get_title_tag();
if ( $pfmTitle ) {
if ( is_array( $title ) ) {
$title = array( 'title' => $pfmTitle );
} else {
$title = $pfmTitle;
}
}
return $title;
}
Получается сейчас выводиться тайтл из настроек форума в самом теге и в зоголовке . Но вот подцепить наименование заданное в настройках прайм форума не удается. Пробывал функцию pfm_get_title_page, но это не помогло. Может у кого какие идеи будут. Буду очень благодарен.
Здравствуйте.
А зачем вам столько проверок в коде?
Ведь вы же знаете id страницы на которой находится шорткод инициализации прайм форума - это и будет единственная проверка где применять ваш фильтр.
А вордпресс позволяет по id страницы (или слагу) вообще сделать нужный вам шаблон к нужной id страницы
вот single-post-{ярлык_записи}.php - и там вы можете отказаться от вывода заголовка своей темой и сделать все согласно кодекса ВП get_the_title() например
Создал новый шаблон для форума и подключил, зоголовки вывел с помощью get_the_title(). Но все равно подхватывается тайтл из настроек форумов. вот код шаблона:
<?php
/**
* @package WordPress
* @subpackage De Jure
* @version 1.0.0
*
* Website Header Template
* Created by CMSMasters
*
*/
?><!DOCTYPE html>
<!--[if IE 8]>
<html class="ie ie8" <?php language_attributes(); ?>>
<![endif]-->
<!--[if !(IE 8)]><!-->
<html <?php language_attributes(); ?> class="cmsms_html">
<!--<![endif]-->
<head>
<meta charset="<?php bloginfo('charset'); ?>" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta name="format-detection" content="telephone=no" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php
if (is_singular() && get_option('thread_comments')) {
wp_enqueue_script('comment-reply');
}
wp_head();
?>
</head>
<body <?php body_class(); ?>>
<?php
if (cmsmasters_get_global('header_sidearea')) {
de_jure_side_area();
}
if (cmsmasters_get_global('header_search')) {
de_jure_get_header_search_form();
}
?>
<!-- _________________________ Start Page _________________________ -->
<div id="page" class="<?php echo de_jure_generate_page_classes(); ?>hfeed site">
<span class="cmsms_responsive_width"></span>
<!-- _________________________ Start Main _________________________ -->
<div id="main">
<?php
get_template_part('inc/template/header');
?>
<!-- _________________________ Start Middle _________________________ -->
<div id="middle">
<div class="main_middle">
<?php
echo "<div class="headline ccs_default">
<div class="headline_outer">
<div class="headline_color"></div>";
echo "<div class="headline_inner align_left">
<div class="headline_wrap">
<div class="headline_text">";
echo '<h1 class="entry-title">' . esc_html( get_the_title() ) . '</h1>';
echo '</div>';
echo '</div>';
echo '</div>';
echo '</div>';
echo '</div>';
$cmsms_layout = de_jure_theme_page_layout();
echo "<div class="middle_outer">
<div class="middle_inner">
<div class="content_wrap">
";
if ($cmsms_layout == 'r_l_sidebars') {
de_jure_get_r_l_sidebar();
}
echo "<!--_________________________ Start Content _________________________ -->
<div class="" . esc_attr(de_jure_get_content_classes()) . " entry" role="main">
";
if (have_posts()) : the_post();
the_content();
echo '<div class="cl"></div>';
wp_link_pages(array(
'before' => '<div class="subpage_nav" role="navigation">' . '<strong>' . esc_html__('Pages', 'de-jure') . ':</strong>',
'after' => '</div>' . "n",
'link_before' => ' [ ',
'link_after' => ' ] '
));
comments_template();
endif;
echo "</div>
<!-- _________________________ Finish Content _________________________ -->
";
de_jure_get_sidebars();
get_footer(); Подскажите куда копать дальше пожалуйста
Дружаев Владимир (Otshelnik-Fm) сказал(а)
QbiQ сказал(а)
Но все равно подхватывается тайтл из настроек форумов.из каких настроек?
А разве цель у вас не такая была? Давайте подробно раскройте свой вопрос. Я походу не понял что у вас за задача
Почему то в сам зоголовок прописывается тайтл из настроек.
Получается, что из настроек форума и топика подхватывается только тайтлы и прописываются в сам тег и h1, а наименования не подхватываются
Дружаев Владимир (Otshelnik-Fm) сказал(а)
А это разве не сео настройка?В исходном коде страницы тег
<title>формируется верно?
В исходном тег title формируется верно, но наименование страницы темы так же формируется и дублирует тайтл.
Вот например страница
Тайтл: sifodshgf sdf dsf sd fsd | Форум Вопросы адвокату по делам о наркотиках, статья 228. и наименование h1 такое же. Хотя из настроек должно быть только: sifodshgf sdf dsf sd fsd
Я могу 2 варианта предположить:
1. Страница закеширована и отдается из кеша. Плагинов кеширования нет?
2. И плагин сео - отключите yoast плагин - и посмотрите без него. На этом сайте и у меня стоит all in one seo pack. Может настройки йоаста где-то влияют.
p.s. а ваш фильтр из 1-го сообщения - отключен?
Дружаев Владимир (Otshelnik-Fm) сказал(а)
Я могу 2 варианта предположить:1. Страница закеширована и отдается из кеша. Плагинов кеширования нет?
2. И плагин сео - отключите yoast плагин - и посмотрите без него. На этом сайте и у меня стоит all in one seo pack. Может настройки йоаста где-то влияют.
p.s. а ваш фильтр из 1-го сообщения - отключен?
Если фильтр отключаю, то тогда вообще отображается название страницы то что в настройках самой страницы. Тоесть: Форум адвокатов и юристов на всех страницах отображается
Вы же писали что header вы подключали свой - зачем копать функции реколл - когда с этим справляется стандартная ВП функция?
QbiQ сказал(а)
Подскажите пожалуйста, за вывод наименования а не тайтлов отвечает функция function pfm_get_title_page() в index.php или же формируются зоголовки так же в function-seo.php
странный вопрос - проверить, распечатав ее, не получается?
Дружаев Владимир (Otshelnik-Fm) сказал(а)
Вы же писали что header вы подключали свой - зачем копать функции реколл - когда с этим справляется стандартная ВП функция?QbiQ сказал(а)
Подскажите пожалуйста, за вывод наименования а не тайтлов отвечает функция function pfm_get_title_page() в index.php или же формируются зоголовки так же в function-seo.phpстранный вопрос - проверить, распечатав ее, не получается?
Просто уже много перепробывал. Шаблон со своим хедором я создал, но тогда вообще тайтлы не прописываются.
Дружаев Владимир (Otshelnik-Fm) сказал(а)
Сравните чем отличается ваш header с темой в которой он работает
Я как раз сижу пытаюсь разобраться и по аналогии скопировать из твенти, но что то пока еще не поддается. Предположение что тема где то цепляется к классу и подменяет зоголовок от id текущей страницы
Дружаев Владимир (Otshelnik-Fm) сказал(а)
QbiQ сказал(а)
Предположение что тема где то цепляется к классуАвтор темы не дает ответа?
Благодарю Владимир за помощь, но что то я уже сдался. Автор отписался, что не предоставляет поддержку в отношении сторонних плагинов(((. Буду пробывать искать другие решения. Может агрос форум попробую прикрутить с помощью дополнения к рекаллу.