Php echo get title

get_the_title()

Возвращает заголовок записи для дальнейшей работы. В параметрах можно указать для какого именно поста выводить заголовок.

К заголовку будет добавлен текст «Защищен:» или «Личное:», если запись защищена паролем или установлена опция Личное.

Функция не выводит на странице заголовок.
Вы можете вывести указав echo get_the_title(); или используйте the_title()

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

Возвращает

строку
Заголовок текущего поста.

Примеры

1. Вывести заголовок записи с ID 5

2. Получить заголовок текущей записи в цикле, заменить 2017 на 2018 и вывести его в теге

' . $title . ''; // выведет 

Популярные игры в 2018 году

?>

Исходный код get_the_title()

Расположен в wp-includes/post-template.php строка 110

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 ); >

WordPress сообщество

2016—2023 © WPSchool.ru — Обучающий ресурс о WordPress, статьи, уроки, обучение и курсы.
Размещаемся на лучшем хостинге Beget ❤️ .

Этот сайт использует cookie для хранения данных. Продолжая использовать сайт, Вы даете свое согласие на работу с этими файлами. OK

Источник

get_the_title() — возвращает заголовок поста

Функция возвращает заголовок поста, ID которого передан в параметрах, если же ID не указан, возвращается заголовок текущей записи в цикле.

Смотрите мой видеоурок про циклы WordPress.

Если запись защищена паролем, то перед заголовком добавляется «Защищено: », меняется хуком protected_title_format если пост помечен как личное, тогда префикс заголовка будет «Личное: », меняется хуком private_title_format.

Параметры

$post (целое число|WP_Post) ID или объект поста, заголовок которого нужно получить, по умолчанию — текущий пост в цикле.

Очистка

Важный момент, про который вы должны помнить. Вывод функции get_the_title() никак не чистится, кроме использования в некоторых местах в админке (об этом ниже), это означает, что если например в заголовок записи вы закинете JavaScript, например , то этот код будет выполняться везде, где выводится заголовок.

Поэтому, в зависимости от ситуации, рекомендую вам рассмотреть возможность использования:

echo esc_html( get_the_title() );

либо, если в заголовке могут присутствовать HTML-теги, то:

echo wp_kses_post( get_the_title() );

Пример 1. Как вывести заголовок текущего поста в цикле

При использовании внутри цикла WordPress никакие параметры передавать не нужно:

Пример 2. Как вывести заголовок конкретного поста

echo get_the_title( 531 ); // выводим заголовок поста с ID 531
$specific_post = get_post( 531 ); echo get_the_title( $specific_post );

Пример 3. Создаём хлебные крошки с выводом заголовка страницы

echo '
// получаем заголовок родительского поста $parent_title = get_the_title( $post->post_parent ); // если заголовок не равен заголовку текущего поста, то выводим ссылку на родителя if ( $parent_title != the_title( ' ', ' ', false ) ) { echo ' . esc_url( get_permalink( $post->post_parent ) ) . '" title="' . esc_attr( $parent_title ) . '">' . esc_html( $parent_title ) . ' » '; } // и выводим заголовок текущего поста echo get_the_title(); echo '
'
;

the_title

Этот фильтр-хук – основное отличие между выводом заголовка функцией get_the_title() и выводом напрямую из объекта поста $post->post_title .

На этот фильтр накладываются некоторые функции, а именно:

  • В первую очередь происходит автоматическая замена кавычек и других символов функцией wptexturize().
  • Затем происходит замена символа & на & .
  • После применяется обычная PHP-функция trim() , которая удаляет пробелы по краям заголовка.
  • Ещё применяется функция capital_P_dangit(), исправляющая неправильное написание WordPress (WordPress, wordpress, вротпресс и т д).
  • Также в админке WordPress происходит ещё и очистка функцией esc_html().

Например, ну не знаю, давайте добавим ID поста в конце каждого заголовка в скобочках!

add_filter( 'the_title', 'true_custom_title_stuff', 25, 2 ); function true_custom_title_stuff( $title, $post_id ) { return $title . ' (' . $id . ')'; }

protected_title_format

Позволяет изменить именно шаблон вывода заголовка поста, если запись защищена паролем.

По умолчанию – либо Защищено: %s для русской локализации, либо Protected: %s . %s , как можно догадаться впоследствии заменяется текстом заголовка.

Например можем попробовать сделать такой формат: %s (защищена паролем)

add_filter( 'protected_title_format', 'true_protected_title_format', 25, 2 ); function true_protected_title_format( $format, $post ) { // мы можем использовать тут объект поста $post для каких-то доп. условий return '%s (защищена паролем)'; }

private_title_format

Позволяет изменить именно шаблон вывода заголовка поста, если запись отмечена как «Личное». По умолчанию – либо Личное: %s для русской локализации, либо Private: %s .

Поменяем так же, как и в предыдущем примере, но только для страниц:

add_filter( 'private_title_format', 'true_private_title_format', 25, 2 ); function true_private_title_format( $format, $post ) { if( 'page' === get_post_type( $post ) ) { return '%s (личное)'; } return $format; }

А можно и вовсе избавиться от этих надписей:

add_filter( 'private_title_format', 'true_no_private_title_format' ); function true_no_private_title_format( $format ) { return '%s'; }

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Источник

get_the_title() │ WP 0.71

Получает заголовок записи (поста). Можно указать запись заголовок которой нужно получить. Функцию можно использовать внутри Цикла WordPress без указания параметра, тогда будет возвращен заголовок текущей записи в цикле. Или передайте ID поста в первом параметре и функция вернет заголовок указанной записи. Если пост «защищен паролем» или является «личным», то пред заголовком появится соответствующая метка: «Защищен: » (Protected: ) и «Личное: » (Private: ).

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

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

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

Возвращает

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

$post_title = get_the_title( $post );

$post(число/WP_Post) Идентификатор записи. Можно передать сразу объект записи. По умолчанию: 0 — текущий пост в цикле

Примеры

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

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

#2 Нужно ли экранировать вывод

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

Какую-то общую функцию экранирования можно повесить на хук:

add_filter( ‘the_title’, ‘my_escape_title’ ); function my_escape_title( $title )

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

echo get_the_title(); // или так в теге H1 echo '

'. get_the_title() .'

';

Список изменений

Код get_the_title() get the title WP 6.2.2

function get_the_title( $post = 0 ) < $post = get_post( $post ); $post_title = isset( $post->post_title ) ? $post->post_title : ''; $post_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. * * 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', $prepend, $post ); $post_title = sprintf( $protected_title_format, $post_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. * * 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', $prepend, $post ); $post_title = sprintf( $private_title_format, $post_title ); >> /** * Filters the post title. * * @since 0.71 * * @param string $post_title The post title. * @param int $post_id The post ID. */ return apply_filters( 'the_title', $post_title, $post_id ); >

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

title (заголовок)

Записи: посты, страницы, .

  • edit_post_link()
  • get_delete_post_link()
  • get_edit_post_link()
  • get_permalink()
  • get_post_field()
  • get_post_status()
  • get_post_time()
  • get_sample_permalink()
  • get_the_content()
  • get_the_date()
  • get_the_excerpt()
  • get_the_ID()
  • get_the_modified_date()
  • get_the_modified_time()
  • get_the_permalink()
  • get_the_time()
  • get_the_title_rss()
  • has_excerpt()
  • post_password_required()
  • register_post_status()
  • the_author()
  • the_content()
  • the_date()
  • the_excerpt()
  • the_excerpt_rss()
  • the_ID()
  • the_modified_date()
  • the_permalink()
  • the_time()

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

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

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

В ответ:
ID Поста: 1 Устал Вытаскивать через query_posts(). Спасибо и Ещё Вопрос, Возможно ли получить все данные по title:

$post_obj = get_page_by_title( 'привет, мир!', OBJECT, 'post' ); $post_id = $post_obj->ID;
($wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s", $post_title ) ))
echo get_post($review)->post_title;

Он выведется таким, каким хранится в базе данных. Правда при выводе лучше использовать esc_html() от греха подальше, читай очистка (валидация, проверка) входящих/исходящих данных в WordPress. Если нужно, чтобы заголовок выводился по принципам самого WordPress, то лучше использовать вариант

echo get_the_title( $review );

Функция get_the_title() проводит ряд проверок (см. её код), а также задействует ряд фильтров, которыми пользуются как сам движок, так и темы/плагины. Главный из них фильтр the_title. На этот фильтр подвязаны ряд функций по очистки строки, делающий заголовок безопасным при выводе на экран. В описании к фильтру в разделе «Где используется хук в ядре WordPress» можно увидеть все функции, подвязанных на этот хук. На мой взгляд в большинстве случаев лучше использовать данный вариант — и читается понятнее и движок все необходимые очистки делает самостоятельно + остаётся возможность темам/плагинам воздействовать на заголовок при необходимости.

Источник

Читайте также:  Кошельки натуральная кожа питона
Оцените статью