%TITLE%

PHP — как изменить заголовок страницы ПОСЛЕ включая header.php?

Лучший способ — изменить логику вашей программы, чтобы вы могли вовремя определить заголовок перед выводом тега заголовка. Есть обходные пути, но они грязные.

+1 Пекка. А для «клудги» читайте «Сложно», «Относительно высокая стоимость обработки» и «Сумасшедшая добыча для тех, кто должен поддерживать вещь». Исправь свою архитектуру, не борись с ней.

9 ответов

расширяя ответ Dainis Abols, и ваш вопрос об обработке вывода,

у вашего header.php есть тег title, установленный на ; «%» важны, поскольку вряд ли кто-либо набирает% TITLE%, поэтому вы можете использовать это для str_replace() позже.

тогда вы можете использовать выходной буфер таким образом

и это должно быть сделано.

Я верю Идея Guy работает лучше, так как он дает вам по умолчанию, если вам это нужно, IE:

)(.*?)()/i', '$1' . $title . '$3', $buffer); echo $buffer; ?> 

и да и нет. если вы меняете заголовок каждые несколько дней, поисковым системам это не понравится, но иметь разные заголовки для каждой страницы, безусловно, для SEO.

Что вы можете сделать, вы сохраняете вывод в переменной, например:

PS: вам нужно удалить все echos/prints и т.д., чтобы весь возможный вывод сохранялся в переменной $output .

Это можно легко сделать, указав $output = »; в начале файла, а затем найдите/замените echo на $output .= .

И затем замените %TITLE% на то, что вам нужно:

Другой способ использования javascript в вашем коде, а не:

Или jQuery, если вы предпочитаете:

первый вариант не работает. и затем, если я использую js, заголовок страницы изменится, но если вы посмотрите исходный код, это не то, что мне нужно

ну, на самом деле, первый вариант работает, но он помещает заголовок страницы за пределы области заголовка, потому что echo идет не на странице header.php

Вам нужно будет удалить все эхо в header.php и написать $output .= Везде, где у вас есть echo . Это идея сценария.

Читайте также:  Javascript string starts with and ends with

Развернувшись немного на ответе we.mamat, вы можете использовать preg_replace вместо простой замены и удалить необходимость % title%. Что-то вроде этого:

)(.*?)()/i', '$1' . $title . '$3', $buffer); echo $buffer; ?> 

вы можете установить с помощью JavaScript

  

приятно, но у него есть 2 недостатка. один не используется для SEO, потому что этот код не записать тег заголовка в заголовке. во-вторых, как добавить мета-описание и ключевые слова?

Добавить этот код вверху страницы

Добавьте этот код в свой заголовочный файл шаблона (включая)

1. Просто добавьте переменную $title перед требованием функции

2. Добавьте следующий код в header.php

Каждый простой, просто используя функцию, я создал ее.

  0) < ob_end_clean(); >$patterns = array("/","meta name='description' content='$description'","meta name='keywords' content='$keywords'"); $output = preg_replace($patterns, $replacements,$output); echo $output; > ?> 

Прежде всего, вы должны создать файл function.php и поместить эту функцию внутрь, а затем выполнить запрос в MetaTags в Header.php. Чтобы использовать эту функцию change_meta_tags ( «NEW TITLE», «NEW DESCRIPTION», NEW KEYWORDS);, Не используйте эту функцию в Header.php! просто с другими страницами.

Просто убедитесь, что вы поместили правильную последовательность первое название, описание, ключевые слова. в противном случае эта функция не будет работать, во-вторых, используйте одинарные кавычки для описания и ключевых слов. и да, очень удобная функция действительно

Это очень легко. Поместите этот код в header.php

 $pagetitle." | ". $sitename"; > else < echo ""; > ?> 

Итак, если вы находитесь на Index.php, заголовок — это имя вашего сайта. И, например, если вы находитесь на странице регистрации, заголовок зарегистрирован | Имя вашего сайта

Источник

Как изменить title через php?

Как получить title изменить и вернуть для вывода?
Т.е. title каждый раз должен меняться на лету, во время вывода поста.

KazeZlat

Вариант 1:
В шаблоне вместо the_title(); используйте $title = get_the_title(); и уже с ним производите махинации.
Вариант 2:
Напишите хук для the_title в functions.php

KazeZlat

KazeZlat

KazeZlat

Алексей selftrips.ru, данный хук будет выполняться при получении title для каждого поста, то есть все посты, к которым получается title, будут проходить через эту функцию. Вам ведь именно это нужно, что именно вам не понятно?

KazeZlat

Алексей selftrips.ru, id поста, к которому выводится title. Можете убрать, если не собираетесь использовать в своей функции другие данные поста (категорию, например), которые по title будет получить проблематично.

Читайте также:  Среда разработки html css javascript

KazeZlat

Алексей selftrips.ru, тогда надо было уточнять, что вы хотите изменять заголовок страницы 😀 Из контекста не очень понятно.
Ну там история такова, что сценарий зависит от того, какая функция используется для вашего шаблона, wp_title(); или wp_get_document_title(); , и хуки соответственно wp_title и pre_get_document_title , их реализация несколько отличается.

KazeZlat

Вообще, смена title при каждой загрузке страницы мягко говоря будет не очень хорошо сказываться на SEO, может быть лучше менять заголовок после загрузки страницы средствами JS? Что именно вы хотите менять в заголовке?

KazeZlat

Алексей selftrips.ru, чтобы понять какая:
1. Заглянуть в header.php и там посмотреть наличие wp_title или wp_get_document_title
2. Если их там нет, то посмотреть, есть ли add_theme_support(‘title-tag’); в functions.php

KazeZlat, вообще строит еще плагин, есть опасения что он все равно будет «затирать» своим значением. Как уже после этого плагина менять год?

Источник

PHP – как изменить заголовок страницы ПОСЛЕ включения header.php?

ваш заголовок.php имеет тег заголовка, установленный в ; «%» важны, так как вряд ли кто-либо набирает% TITLE%, поэтому вы можете использовать это для str_replace () позже.

то вы можете использовать выходной буфер так,

РЕДАКТИРОВАТЬ

Я считаю, что идея Гая работает лучше, поскольку она дает вам по умолчанию, если вам это нужно, IE:

)(.*?)()/i', '$1' . $title . '$3', $buffer); echo $buffer; ?> в )(.*?)()/i', '$1' . $title . '$3', $buffer); echo $buffer; ?> 

Что вы можете сделать, вы сохраняете вывод в переменной, например:

PS: вам нужно удалить все эхо / отпечатки и т. Д., Чтобы весь возможный вывод хранился в переменной $output .

Это можно сделать легко, определив $output = »; в начале файла, а затем найти / заменить echo на $output .= .

А затем замените %TITLE% на то, что вам нужно:

Другой способ использования javascript в вашем коде, а не:

Или jQuery, если вы предпочитаете:

Расширившись немного на ответе we.mamat, вы можете использовать preg_replace вместо простой замены и удалить необходимость % title% в целом. Что-то вроде этого:

)(.*?)()/i', '$1' . $title . '$3', $buffer); echo $buffer; ?> в )(.*?)()/i', '$1' . $title . '$3', $buffer); echo $buffer; ?> 

вы можете установить с помощью JavaScript

   

Добавьте этот код вверху своей страницы

Читайте также:  Php вывод переменной из массива

Добавьте этот код в свой заголовочный файл шаблона (включите)

Это очень легко. Поместите этот код в header.php

 $pagetitle." | ". $sitename"; > else < echo ""; > ?> 

Затем на странице поставили:

Поэтому, если вы находитесь на Index.php, заголовок – это имя вашего сайта. И, например, если вы находитесь на странице регистрации, заголовок зарегистрирован | Имя вашего сайта

Каждый простой, просто используя функцию, я создал ее.

  0) < ob_end_clean(); >$patterns = array("/","meta name='description' content='$description'","meta name='keywords' content='$keywords'"); $output = preg_replace($patterns, $replacements,$output); echo $output; > ?> 

Прежде всего, вы должны создать файл function.php и поместить эту функцию внутрь, а затем выполнить запрос в MetaTags в Header.php. Чтобы использовать эту функцию change_meta_tags («NEW TITLE», «NEW DESCRIPTION», NEW KEYWORDS); , Не используйте эту функцию в Header.php! просто с другими страницами.

1. Просто добавьте переменную $ title перед требованием функции

2. Добавьте следующий код в header.php

Используйте функцию jQuery следующим образом:

Источник

Как заменить содержимое тега title?

Подскажите плиз, что добавить в index.php , чтоб проверяло тайтл и заменяло его на название группы $rcl_group->name; ?

Т.е. на выходе имеем

Средний 5 комментариев

webinar

почему не в htaccess? Или что б наверняка в *.css сразу запихнуть

Вы задачу подробнее опишите. Вы хотите брать из vk тайтл?

Максим Тимофеев, сорри что не подробно, чайник я.

есть плагин, который создает наподобие групп ВК (сам вк не причем, просто пример), у него есть index.php , в котором присутствуют, к примеру, такие строчки:

function rcl_group_replace_title($title)< global $rcl_group; if(!$rcl_group) return $title; if($rcl_group->name) < if(is_array($title))< $title = array('title' =>$rcl_group->name); >else< $title = $rcl_group->name; > > return $title; >

Почему-то решил, что куда-то как-то туда нужно что-то дописать вроде preg_replace(‘#]*>.*?#is’

webinar

referakk,
function rcl_group_replace_title($title) <
получает title проверяет наличие глобальной переменной и выводит title. Что это за тайтл никто не знает. Это просто переменная так названная.
Чего Вы решили, что это как-то связано с title страницы? Или Вам вообще тайтл чего-то другого нужен? Можно разобраться, но не видя всего кода и за 2 строчки я Вам не объясню как.

Источник

Оцените статью