Всем привет. Может кто подскажет. Тема установленная на сайте выводит заголовки с помощью своей функции как я понял. Из за этого на форуме на всех страницах отображается только главный зоголовок заданный в настройках страницы где расположен шорткод прайм форума. Методом тыка и исключений удалось вывести тайтлы через файл 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 сказал(а)
Предположение что тема где то цепляется к классуАвтор темы не дает ответа?
Благодарю Владимир за помощь, но что то я уже сдался. Автор отписался, что не предоставляет поддержку в отношении сторонних плагинов(((. Буду пробывать искать другие решения. Может агрос форум попробую прикрутить с помощью дополнения к рекаллу.