Функция the_title_attribute() │ WP 2.3.0
Функция the_title_attribute()
выводит название поста, подготовленное для использования в атрибутах HTML тега.
Эту функцию следует использовать внутри цикла WordPress (Loop).
Она работает аналогично функции the_title()
, но параметры могут быть переданы в строковом виде или в виде массива. Для более детальной настройки можно использовать параметр $args
.
Эта функция по сути идентична the_title()
, но отличается тем, что "очищает" название от HTML-тегов и обрабатывает специальные HTML-сущности (например, <
, >
, "
, '
). Например, символ <
будет заменен на <
. Перед выводом она применяет к заголовку функции: esc_attr()
и strip_tags()
.
Производительность
- 1 раз — 0.005307 секунд (очень медленно)
- 50,000 раз — 2.55 секунды (быстро)
PHP версия: 7.1.2, WP версия: 4.7.3
Возвращаемое значение
Функция может возвратить null
или строку. Она ничего не возвращает, если параметр echo
установлен в true
, и возвращает атрибут заголовка, если echo
равен false
.
Использование
the_title_attribute( $args );
Параметры
$args
(строка|массив) — аргументы атрибута заголовка. Необязательный.
По умолчанию: ''
-
before (строка)
HTML-разметка, которая будет добавлена перед заголовком.
По умолчанию:''
-
after (строка)
HTML-разметка, которая будет добавлена после заголовка.
По умолчанию:''
-
echo (true|false)
Указывает, нужно ли выводить название или вернуть его.
По умолчанию:true
(для вывода) -
post (WP_Post)
Текущий объект поста, для которого нужно получить заголовок.
Примеры использования
Пример 1: Использование функции в атрибуте title тега <a>
Так как этот атрибут не поддерживает HTML-теги, кавычки и другие специальные символы, мы не можем использовать функцию the_title()
. Вместо этого идеально подходит функция the_title_attribute()
:
История изменений
- Введена в версии 2.3.0.
Код функции the_title_attribute()
function the_title_attribute( $args = '' ) { $defaults = array( 'before' => '', 'after' => '', 'echo' => true, 'post' => get_post(), ); $parsed_args = wp_parse_args( $args, $defaults ); $title = get_the_title( $parsed_args['post'] ); if ( strlen( $title ) === 0 ) { return; } $title = $parsed_args['before'] . $title . $parsed_args['after']; $title = esc_attr( strip_tags( $title ) ); if ( $parsed_args['echo'] ) { echo $title; } else { return $title; } }Связанные функции
get_admin_page_title()
get_the_archive_title()
get_the_title()
single_month_title()
single_post_title()
single_term_title()
the_archive_title()
the_title()
wp_get_document_title()
Примечание
Эти функции помогут вам работать с заголовками постов и страниц в WordPress более эффективно.