the_title_attribute() WP 2.3.0

Виводить заголовок запису, підготовлений для використання в атрибутах html тега.

Функція повинна використовуватися всередині циклу WordPress.

Функція ідентична функції esc_attr() та strip_tags()

Також ця функція може приймати параметри у вигляді рядка: ‘before=<h3>&after=</h3>’

1 раз – 0.005307 сек
(дуже повільно) | 50000 разів – 2.55 сек
(швидко) |
PHP 7.1.2, WP 4.7.3

Хуків немає.

Повертає

null|Строку. null коли результат виводиться екран (echo=true). Заголовок, коли результат повертається (echo=true).

Використання

<?php the_title_attribute( $args ); ?>
$args
(масив/рядок)

Параметри у вигляді масиву чи рядка. Можна передати такі параметри:

  • before (рядок)
    Текст/HTML код, який потрібно розмістити перед заголовком.
    За замовчуванням: ”

  • after (рядок)
    Текст/HTML код, який потрібно розмістити після заголовка.
    За замовчуванням: ”

  • echo (логічний)
    Вивести на екран (true) або повернути для подальшої обробки (false).
    Типово: true

  • post (число/об’єкт)
    ID чи об’єкт запису.
    За замовчуванням: поточний запис

За замовчуванням: ”

Приклади

0

#1 Приклад використання функції атрибута titleтега <a>.

Так як у цьому атрибуті не допускається використання html тегів лапок та іншого, то ми не можемо використовувати функцію the_title(). Натомість використовуємо the_title_attribute() :

<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute( array('before' => 'Permalink to: ', 'after' => '')); ?>">
	<?php the_title(); ?>
</a>

список змін

З версії 2.3.0Введено.

Код the_title_attribute() WP 6.0.2

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

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *