WordPress как на ладони
Шаблоны, плагины и темы для настоящих поклонников Elementor. От TemplateMonster.com wordpress jino

get_the_title() WP 0.71

Получает заголовок записи для дальнейшего использования в php. Можно получить заголовок указанной записи.

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

Если пост «защищен паролем» или является «личным», то пред заголовком появится соответствующая метка: "Защищен: " (Protected: ) и "Личное: " (Private: ).

В WordPress нет функции get_post_title(), которую вы возможно будете искать по логике функций. Вместо нее используйте эту функцию.

Когда нужно добавить заголовок записи в атрибут HTML тега, используйте функцию the_title_attribute(), а не get_the_title() или the_title().

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

get_the_title() рекомендуется очищать перед выводом на экран, потому что она выводит все HTML теги как есть, а это не безопасно.

Очищать можно двумя способами:

  • Полная очистка, запрещает использование HTML тегов в заголовке

    echo esc_html( get_the_title() );
  • Но если теги очень нужны, то очищаем так (производительность в этом случае страдает):

    echo wp_kses_post( get_the_title() );
Является основой для: the_title()
✈ 1 раз = 0.000346с = быстро | 50000 раз = 0.68с = очень быстро PHP 7.1.0, WP 4.7
Хуки из функции:
Возвращает

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

Использование

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

Идентификатор записи. Можно передать сразу объект записи.

По умолчанию: текущий пост в цикле

Примеры

#1 Выведем заголовок текущей записи в цикле

echo get_the_title();

// или так в теге H1
echo '<h1>'. esc_html( get_the_title() ) .'</h1>';

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

echo get_the_title( 25 );

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

Код get_the_title: wp-includes/post-template.php VER 4.9.8

<?php
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 ) ) {

			/**
			 * Filters the text prepended to the post title for protected posts.
			 *
			 * The 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', __( 'Protected: %s' ), $post );
			$title = sprintf( $protected_title_format, $title );
		} elseif ( isset( $post->post_status ) && 'private' == $post->post_status ) {

			/**
			 * Filters the text prepended to the post title of private posts.
			 *
			 * The 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', __( 'Private: %s' ), $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 );
}

Cвязанные функции

Из метки: title (заголовок)

Еще из раздела: Записи: посты, страницы, ...

4 коммента
  • Роман

    Как задать метаданныйе (тайтл, кейвордс, и десрипшн) для рубрике без плагина? Думаю, это многим интересно.

    Ответить4.4 года назад #
  • JamaRolex

    Здравствуйте Тимур, я бы хотел узнать есть ли какая нибудь функция, что бы получить всё в обратном порядке ? типа:

    $pID = get_post_id($title);
    echo "ID Поста".$pID;

    В ответ:
    ID Поста: 1

    Устал Вытаскивать через query_posts(). Спасибо

    и Ещё Вопрос, Возможно ли получить все данные по title:

    $post->ID;
    $post->post_type
    ....

    Спасибо ещё раз

    Ответить4.3 года назад #
    • JamaRolex

      Пораскинул я мозгами, понял что в конкретном случае мне этого ненадо но! решение нашёл smile

      $post_obj = get_page_by_title( 'привет, мир!', OBJECT, 'post' );
      $post_id = $post_obj->ID;
      1
      Ответить4.3 года назад #
Здравствуйте, !     Войти . Зарегистрироваться