the_title
Застосовується до заголовка запису перед тим, як отримати або вивести заголовок на екран функціями: get_the_title() .
У деяких випадках, наприклад, коли використовується функція the_title() , заголовок можна видалити, повернувши порожнє значення у фільтрі ( NULL , FALSE або ” ).
Використання
add_filter( 'the_title', 'wp_kama_the_title_filter', 10, 2); /** * Function for `the_title` filter-hook. * * @param string $title The post title. * @param int $id The post ID. * * @return string */ function wp_kama_the_title_filter( $title, $id ){ // Filter... return $title; }
-
$title
(рядок) - Заголовок запису.
-
$post_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”:
add_filter( 'the_title', 'suppress_if_blurb', 10, 2); function suppress_if_blurb( $title, $id = null ) { if ( in_category('reklama', $id ) ){ return ''; } return $title; }
Додатковий параметр $id = null , значення за промовчанням другого параметра, вказаний оскільки деякі виклики функції можуть передавати цей параметр. Ця помилка з’явилася у версії 3.1 та була виправлена у версії 3.3. Якщо потрібна зворотна сумісність з версіями 3.1-3.3, потрібно вказати значення за промовчанням для $id, інакше ви отримаєте PHP попередження, що не вказано обов’язковий параметр.
список змін
З версії 0.71 | Введено. |
Де викликається хук
return apply_filters( 'the_title', $title, $id);
Де використовується хук у WordPress
add_filter($filter, 'capital_P_dangit', 11);
add_filter( 'the_title', 'wptexturize');
add_filter( 'the_title', 'convert_chars');
add_filter( 'the_title', 'trim');