WordPress как на ладони
wordpress jino

get_the_title() WP 0.71

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

Передайте ID поста в первом параметре и функция вернет заголовок указанной записи. Если пост «защищен паролем» или является «личным», то пред заголовком появится соответствующая метка.

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

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

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

<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php get_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(число/объект)

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

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

Примеры

Простой пример хлебных крошек для статических страниц. Глубина  - 2 уровня.

<div class='breadcrumb'>
	<?php
	// если есть родительская запись, показать ссылку на нее
	$parent_title = get_the_title($post->post_parent);
	if( $parent_title != the_title(,,false) ){
		echo '<a href=\"' . get_permalink($post->post_parent) .
		'\" title=\"' . $parent_title . '\">' . $parent_title . '</a> » ';
	}
	// после этого показать ссылку на текущую страницу
	?>
	<a href='<?php the_permalink() ?>'><?php the_title(); ?></a> »
</div>

Код get the title: wp-includes/post-template.php WP 4.8.2

<?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 (заголовок)

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

get_the_title 6 комментариев
  • Роман

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

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

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

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

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

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

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

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

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

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

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

      $post_obj = get_page_by_title( 'привет, мир!', OBJECT, 'post' );
      $post_id = $post_obj->ID;
      1
      Ответить3.4 года назад #
  • Бахромжон

    возможно здесь ошибка "которую вы возможно будИте искать"

    1

Здравствуйте, !

Ваш комментарий