Удалить имя сайта из тега <title>

Мои теги <title> выглядят следующим образом:

Заголовок сообщения блога | Название сайта

Как удалить «Имя сайта», чтобы теги <title> были такими:

Заголовок сообщения в блоге

За исключением, конечно, на первой странице, где <title> должен быть:

Название сайта

Пожалуйста, примите во внимание, что я полный новичок в WordPress.


Изменить: Вот мой текущий <title> из header.php :

 <title> <?php if ( defined( 'WPSEO_VERSION' ) ) { // WordPress SEO is activated wp_title(); } else { // WordPress SEO is not activated wp_title( '|', true, 'right' ); } ?> </title> 

Solutions Collecting From Web of "Удалить имя сайта из тега <title>"

Лучшая (и самая простая) вещь – использовать фильтр wp_title .

Сначала очистите свой вызов до <?php wp_title(); ?> <?php wp_title(); ?> в вашем шаблоне. Замените то, что у вас есть:

  wp_title( '&#124;', true, 'right' ); 

Затем, в functions.php (или в дочерней теме functions.php ; применяются обычные оговорки), добавьте следующее:

 function wpse95147_filter_wp_title( $title ) { if ( is_single() || ( is_home() && !is_front_page() ) || ( is_page() && !is_front_page() ) ) { $title = single_post_title( '', false ); } return $title; } add_filter( 'wp_title', 'wpse95147_filter_wp_title' ); 

Этот фильтр полностью перезапишет вывод $title в одностраничных контекстах. ( Фактическое условие принимается непосредственно из ядра , из самого определения функции wp_title() .)

Последнее, что я проверил, WordPress фактически не выводит название сайта нигде в wp_title() ; так что если вы видите это, что-то добавляет его (возможно, ваша тема?). Тем не менее, если вы хотите вывести его, просто напишите условное условие в указанном выше фильтре; например:

 function wpse95147_filter_wp_title( $title ) { if ( is_single() || ( is_home() && !is_front_page() ) || ( is_page() && !is_front_page() ) ) { $title = single_post_title( '', false ); } if ( is_front_page() && ! is_page() ) { $title = esc_attr( get_bloginfo( 'name' ) ); } return $title; } add_filter( 'wp_title', 'wpse95147_filter_wp_title' ); 

Добавьте эту строку в файл header.php

 <title><?php wp_title();?></title> 

Добавить код ниже в файле functions.php темы

 function your_wp_title( $title, $sep ) { global $paged, $page; if(is_front_page()){ $title = get_bloginfo( 'name' ); return $title; } else { if ( is_feed() ) // Add the site name. return $title; } } add_filter( 'wp_title', 'your_wp_title', 10, 2 ); 

Ссылка: http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_title

В моем файле шаблона header.php я заменил строку заголовка на это

 <title><?php is_front_page() ? woo_title() : wp_title( '' ); ?></title> 

В моем случае я использую шаблон woothemes, поэтому этот вывод woo_title ().

Здесь вы можете проверить одну строку, если находитесь на домашней странице, если это правда, вы можете разрешить отображать заголовок блога / сайта, если false выводит заголовок без имени сайта, просто отобразит ваше сообщение или заголовок страницы.

У меня была эта проблема с сообщениями, поэтому я обыскал interet, и я сделал небольшой плагин, который удаляет имя блога из сообщений

 ########### start remove blog title from posts ####### function wp_abdul0201_wp_title( $title ) { if ( is_single() ) { $title = single_post_title( '', false ); } return $title; } add_filter( 'pre_get_document_title', 'wp_abdul0201_wp_title' ); ########### end remove blog title from posts ####### 

пожалуйста, не процитируйте этот код

 if ( is_single() ) 

это применимо только к заголовкам должностей, которые вы можете добавить больше

 if ( is_single() || is_archive ) 

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

 <?php wp_title(false); ?> 

Попробуйте это, а также прочитайте больше здесь

&#124; указывает вертикальную полосу в качестве разделителя. истинный аргумент означает отображение $ display, независимо от того, отображать заголовок или нет. Третья позиция – это место, где можно поставить разделитель.