get_the_title() WP 0.71

Отримує заголовок запису (пост). Можна вказати запис заголовок якого потрібно отримати.

Функцію можна використовувати всередині Цикл WordPress без вказівки параметра, тоді буде повернуто заголовок поточного запису в циклі. Або передайте ID посту в першому параметрі та функція поверне заголовок зазначеного запису.

Якщо пост “захищений паролем” або є “особистим”, то перед заголовком з’явиться відповідна мітка: “Захищений:” (Protected:) та “Особисте:” (Private:).

У WordPress немає функції get_post_title() , яку ви, можливо, будете шукати за логікою функцій. Замість цього використовуйте цю функцію.

Використовуйте функцію the_title_attribute() , коли потрібно додати заголовок запису до атрибуту HTML тега.

<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
	<?php the_title(); ?>
</a>

Основа для:
the_title()
1 раз – 0.000346 сек
(швидко) | 50000 разів – 0.68 сек
(дуже швидко) |
PHP 7.1.0, WP 4.7

Повертає

Строку. Заголовок запису.

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

$post_title = get_the_title($post);
$post
(число/об’єкт)

Ідентифікатор запису. Можна відразу передати об’єкт запису.

За замовчуванням: поточний пост у циклі

Приклади

0

#1 Виведемо заголовок поточного запису у циклі

echo get_the_title();

// або так у тезі H1
echo '<h1>'. get_the_title() .'</h1>';
0

#2 Виведемо заголовок посту 25

echo get_the_title(25);

// або можна передати об'єкт
$ the_post = get_post (25);
echo get_the_title ($ the_post);
0

#3 Чи потрібно екранувати висновок

Це залежить від контексту, де використовується функція. Як правило, екранування не потрібно, WP сам займається цим. Зокрема до хука the_title застосовуються такі функції:

Екранування може бути потрібне, коли заголовок виводиться в атрибуті тега:

<input type="text" value="<?= esc_attr( get_the_title() ) ?>">

Якусь загальну функцію екранування можна повісити на хук:

add_filter( 'the_title', 'my_escape_title');

function my_escape_title( $title ){
	return esc_html($title);
}

список змін

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

Код get_the_title() WP 6.0.2

function get_the_title( $post = 0 ) {
	$post = get_post($post);

	$title = isset($post->post_title)? $post->post_title : '';
	$id = isset($post->ID)? $post->ID : 0;

	if ( ! is_admin() ) {
		if ( ! empty( $post->post_password ) ) {

			/* translators: %s: Protected post title. */
			$prepend = __( 'Protected: %s' );

			/**
			 * Filters the text prepended to the post title for protected posts.
			 *
			 * Filter is only applied on the front end.
			 *
			 * @ Since 2.8.0
			 *
			 * @param string $prepend Text displayed before the post title.
			 * Default 'Protected: %s'.
			 * @param WP_Post $post Current post object.
			 */
			$protected_title_format = apply_filters( 'protected_title_format', $prepend, $post);
			$title = sprintf($protected_title_format, $title);
		} elseif ( isset( $post->post_status ) && 'private' === $post->post_status ) {

			/* translators: %s: Private post title. */
			$prepend = __( 'Private: %s' );

			/**
			 * Filters the text prepended to the post title of private posts.
			 *
			 * Filter is only applied on the front end.
			 *
			 * @ Since 2.8.0
			 *
			 * @param string $prepend Text displayed before the post title.
			 * Default 'Private: %s'.
			 * @param WP_Post $post Current post object.
			 */
			$private_title_format = apply_filters( 'private_title_format', $prepend, $post);
			$title = sprintf($private_title_format, $title);
		}
	}

	/**
	 * Filters the post title.
	 *
	 * @ Since 0.71
	 *
	 * @param string $title The post title.
	 * @param int $id The post ID.
	 */
	return apply_filters( 'the_title', $title, $id);
}

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

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