Функция 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 более эффективно.