WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

the_title хук-фильтр . WP 1.2.1

Применяется к заголовку записи, перед тем как вывести заголовок на экран. Используется в функции the_title().

В некоторых случаях, например когда используется функция the_title(), заголовок можно удалить, вернув пустое значение в фильтре (NULL, FALSE или '').

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

add_filter( 'the_title', 'filter_function_name_11', 10, 2 );
function filter_function_name_11( $title, $id ) {
	// Фильтр...

	return $title;
}
$title(строка)
Заголовок записи.
$id(число)
ID записи.

Примеры

#1 Добавим слово "Страница" к заголовку постоянных страниц:

Демонстрация работы фильтра:

add_filter( 'the_title', 'add_text_to_page_title' );
function add_text_to_page_title( $title ) {
	if( is_page() )
		$title = 'Страница: '. $title;

	return $title;
}

В результате заголовок всех постоянных страниц будет выглядеть так: Страница: Заголовок страницы.

#2 Удаление заголовков в категории

В этом примере показано, как удалить заголовки у записей, которые находятся в категории "reklama":

function suppress_if_blurb( $title, $id = null ) {

	if ( in_category('reklama', $id ) ){
		return '';
	}

	return $title;
}
add_filter( 'the_title', 'suppress_if_blurb', 10, 2 );

Дополнительный параметр $id = null, значение по умолчанию для второго параметра, указан потому что, некоторые вызовы функции могут не передавать этот параметр. Эта ошибка появилась в версии 3.1 и была исправлена в версии 3.3. Если нужна обратная совместимость с версиями 3.1-3.3, то нужно указать значение по умолчанию для $id, иначе вы получите PHP предупреждение, что не указан обязательный параметр.

Где вызывается хук

WP_Customize_Nav_Menu_Item_Setting::get_original_title()
the_title
do_trackbacks()
the_title
Walker_Nav_Menu::start_el()
the_title
Walker_Page::start_el()
the_title
wp_get_archives()
the_title
wp_setup_nav_menu_item()
the_title
get_the_title()
the_title
get_adjacent_post_link()
the_title
previous_post()
the_title
next_post()
the_title
get_boundary_post_rel_link()
the_title
get_parent_post_rel_link()
the_title
Walker_Nav_Menu_Checklist::start_el()
the_title
WP_Posts_List_Table::column_title()
the_title
wp-includes/customize/class-wp-customize-nav-menu-item-setting.php 274
$original_title = apply_filters( 'the_title', $original_object->post_title, $original_object->ID );
wp-includes/comment.php 2894
$post_title = apply_filters( 'the_title', $post->post_title, $post->ID );
wp-includes/class-walker-nav-menu.php 213
$title = apply_filters( 'the_title', $item->title, $item->ID );
wp-includes/class-walker-page.php 199
apply_filters( 'the_title', $page->post_title, $page->ID ),
wp-includes/general-template.php 2136
$text = strip_tags( apply_filters( 'the_title', $result->post_title, $result->ID ) );
wp-includes/nav-menu.php 841
$original_title = apply_filters( 'the_title', $original_object->post_title, $original_object->ID );
wp-includes/post-template.php 171
return apply_filters( 'the_title', $title, $id );
wp-includes/link-template.php 2170
$title = apply_filters( 'the_title', $title, $post->ID );
wp-includes/deprecated.php 151
$string .= apply_filters('the_title', $post->post_title, $post->ID);
wp-includes/deprecated.php 186
$string .= apply_filters('the_title', $post->post_title, $post->ID);
wp-includes/deprecated.php 2712
$title = apply_filters('the_title', $title, $post->ID);
wp-includes/deprecated.php 2787
$title = apply_filters('the_title', $title, $post->ID);
wp-admin/includes/class-walker-nav-menu-checklist.php 97
$title = apply_filters( 'the_title', $item->post_title, $item->ID );
wp-admin/includes/class-wp-posts-list-table.php 998
$parent_name = apply_filters( 'the_title', $parent->post_title, $parent->ID );

Где используется хук в ядре WordPress

wp-admin/includes/class-wp-media-list-table.php 649
add_filter( 'the_title', 'esc_html' );
wp-admin/includes/class-wp-posts-list-table.php 723
add_filter( 'the_title', 'esc_html' );
wp-includes/default-filters.php 142
add_filter( $filter, 'capital_P_dangit', 11 );
wp-includes/default-filters.php 168
add_filter( 'the_title', 'wptexturize' );
wp-includes/default-filters.php 169
add_filter( 'the_title', 'convert_chars' );
wp-includes/default-filters.php 170
add_filter( 'the_title', 'trim' );
5 комментов