Функция the_title_attribute(): описание, использование, примеры

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

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *