wp_title() WP 1.0.0

Виводить/повертає заголовок сторінки.

Функція вважається застарілою з версії 4.4.

Замість неї слід використовувати підтримку теми ‘title-tag’ :

/*
 * Let WordPress manage the document title.
 * Коли ви придбали theme support, we declare that this theme does not use a
 * hard-coded <title> tag in the head document and expect WordPress to
 * provide it for us.
 */
add_theme_support( 'title-tag');

В основі роботи ‘title-tag’ лежить функція wp_get_document_title() .

У функції можна вказати роздільник між назвою сторінки та додатковими словами у заголовку. З версії 2.5 можна вказати, з якого боку заголовка роздільник повинен знаходитися (праворуч, ліворуч).

Цей Тег шаблону можна використовувати повсюдно, як за межами Цикл WordPress, так і всередині нього. Зазвичай його використовують для вказівки заголовка сторінки в тезі <title><head> частини сторінки.

1 раз – 0.000125 сек
(швидко) | 50000 разів – 2.32 сек
(швидко)

Хуки з функції

Повертає

Строку|null. Рядок при отриманні, null – при відображенні.

Використання

<title><?php wp_title( $sep, $echo, $seplocation ); ?></title>
$sep
(рядок)
Текст, який буде показано до або після заголовка (розділювач). За замовчуванням сепаратор буде символ:
».


За замовчуванням: ” (“)
$echo
(логічний)
Виводити (true) або повертати заголовок змінну (false). За промовчанням заголовок відображається на екрані.


Типово: true
$seplocation
(рядок)
Визначає розташування роздільника. Введено у версії 2.5. Якщо вказати
right, то роздільник буде розташований праворуч від заголовка, у всіх інших випадках ліворуч.


За замовчуванням: ”

Приклади

0

#1 Виведемо заголовок блогу

Виведемо назву блогу (використовуючи bloginfo() ) та заголовок сторінки (припустимо, що ми знаходимося на сторінці посту).

<title><?php bloginfo('name'); ?> <?php wp_title(); ?></title>

Отримаємо:Заголовок блога » Название поста

0

#2 Якщо потрібно прибрати роздільник, то викликаємо функцію так:

<title><?php bloginfo('name'); ?> <?php wp_title("", true); ?></title>
0

#3 Окремий заголовок для головної сторінки

Якщо для головної сторінки ми використовуємо довільний шаблон, з довільним виводом (Циклом WordPress), то заголовок сторінки може визначатися не так, як нам хотілося б. Щоб уникнути цього, використовуйте такий код:

<title><?php bloginfo('name'); ?> |
<?php is_home() ? bloginfo('description') : wp_title(''); ?></title>
0

#4 Використання роздільників

Виведемо назву блогу потім заголовок сторінки і як роздільник встановимо знак ” |“.

<title><?php bloginfo('name'); ?><?php wp_title('|'); ?></title>

Отримаємо:Заголовок блога | Заголовок страницы

Важливо! Не використовуйте як роздільник знаки ” _” та ” --“. Це може спричинити помилки.

0

#5 Поміняємо місцями заголовки

Якщо потрібно відобразити спочатку заголовок сторінки, а потім назву блогу використовуйте такий код:

<title><?php wp_title('|', true, 'right'); ?><?php bloginfo('name'); ?></title>

нотатки

  • Global. WP_Locale. $wp_locale WordPress date and time locale object.

список змін

З версії 1.0.0Введено.

Код wp_title() WP 6.0.2

function wp_title( $sep = '»', $display = true, $seplocation = '' ) {
	global $wp_locale;

	$m = get_query_var('m');
	$year = get_query_var( 'year' );
	$monthnum = get_query_var( 'monthnum');
	$ day = get_query_var ( 'day');
	$search = get_query_var('s');
	$title = '';

	$t_sep = '%WP_TITLE_SEP%'; // Temporary separator, for accurate flipping, if necessary.

	// If there is a post.
	if ( is_single() || ( is_home() && ! is_front_page() ) || ( is_page() && ! is_front_page() ) ) {
		$title = single_post_title('', false);
	}

	// If there's a post type archive.
	if ( is_post_type_archive() ) {
		$post_type = get_query_var( 'post_type');
		if ( is_array( $post_type ) ) {
			$post_type = reset($post_type);
		}
		$post_type_object = get_post_type_object( $post_type );
		if (! $post_type_object->has_archive) {
			$title = post_type_archive_title('', false);
		}
	}

	// If there's a category or tag.
	if ( is_category() || is_tag() ) {
		$title = single_term_title('', false);
	}

	// If there's a taxonomy.
	if ( is_tax() ) {
		$term = get_queried_object();
		if ($term) {
			$tax = get_taxonomy( $term->taxonomy );
			$title = single_term_title( $tax->labels->name . $t_sep, false );
		}
	}

	// If there's an author.
	if ( is_author() && ! is_post_type_archive() ) {
		$author = get_queried_object();
		if ($author) {
			$title = $author->display_name;
		}
	}

	// Post type archives with has_archive should override terms.
	if ( is_post_type_archive() && $post_type_object->has_archive ) {
		$title = post_type_archive_title('', false);
	}

	// If there's a month.
	if ( is_archive() && ! empty( $m ) ) {
		$ my_year = substr ($ m, 0, 4);
		$ my_month = substr ($ m, 4, 2);
		$ my_day = (int) substr ($ m, 6, 2);
		$title = $my_year.
			( $my_month ? $t_sep . $wp_locale->get_month( $my_month ) : '' ) .
			( $my_day ? $t_sep . $my_day : '' );
	}

	// If there's a year.
	if ( is_archive() && ! empty( $year ) ) {
		$title = $year;
		if ( ! empty( $monthnum ) ) {
			$title.=$t_sep. $wp_locale->get_month($monthnum);
		}
		if ( ! empty( $day ) ) {
			$title.=$t_sep. zeroise ($ day, 2);
		}
	}

	// If it's a search.
	if ( is_search() ) {
		/* translators: 1: Separator, 2: Search query. */
		$title = sprintf( __( 'Search Results %1$s %2$s' ), ​​$t_sep, strip_tags( $search ) );
	}

	// If it's a 404 page.
	if ( is_404() ) {
		$title = __( 'Page not found');
	}

	$prefix = '';
	if ( ! empty( $title ) ) {
		$prefix = "$ sep";
	}

	/**
	 * Filters parts of the page title.
	 *
	 * @ Since 4.0.0
	 *
	 * @param string[] $title_array Array of parts of the page title.
	 */
	$title_array = apply_filters( 'wp_title_parts', explode( $t_sep, $title ) );

	// Визначення становища separator and direction of breadcrumb.
	if ( 'right' === $seplocation ) { // Separator on right, so reverse the order.
		$title_array = array_reverse($title_array);
		$title = implode("$sep", $title_array). $prefix;
	} else {
		$title = $prefix. implode("$sep", $title_array);
	}

	/**
	 * Filters the text of the page title.
	 *
	 * @ Since 2.0.0
	 *
	 * @param string $title Page title.
	 * @param string $sep Title separator.
	 * @param string $seplocation Місце separator ('left' або 'right').
	 */
	$title = apply_filters( 'wp_title', $title, $sep, $seplocation);

	// Send it out.
	if ($display) {
		echo $title;
	} else {
		return $title;
	}
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *