display_post_states
Дозволяє додати стан (мітку) запису до таблиці записів у адмінці. Таку мітку стану можна бачити, наприклад, коли запис у чернетці, на затвердженні і т.д.
Використання
add_filter( 'display_post_states', 'wp_kama_display_post_states_filter', 10, 2); /** * Function for `display_post_states` filter-hook. * * @param string[] $post_states На array of post display states. * @param WP_Post $post The current post object. * * @return string[] */ function wp_kama_display_post_states_filter( $post_states, $post ){ // Filter... return $post_states; }
-
$post_states
(Масив) - Масив міток-станів запису.
-
$post
(WP_Post) - Об’єкт поточного запису, для якого фільтруються стани.
Приклади
#1 Додамо свої позначки стану запису в таблиці постійних сторінок
Додавати мітки для записів типу page .
мітка для спеціальних сторінок у таблиці page записів add_filter( 'display_post_states', 'special_page_mark', 10, 2); function special_page_mark( $post_states, $post ){ if( $post->post_type === 'page' ){ if( $post->post_name === 'my-account' ){ $post_states[] = 'Старінка "Мій обліковий запис"'; } if( in_array( $post->post_name, ['cart','shop','checkout'] ) ){ $post_states[] = 'Особлива сторінка'; } } return $post_states; }
Отримаємо
#2 Видаляємо мітку “Класичний редактор”
Після встановлення плагіна Classic Editor у Записів з’явиться мітка, яка інформує в якому редакторі вона зроблена. Це може зробити таблицю менш читаною:
Видалити таку мітку або будь-яку іншу просто, знаючи її ключ:
add_filter( 'display_post_states', 'remove_classic_editor_mark', 10, 2); function remove_classic_editor_mark( $post_states, $post ) { unset( $post_states['classic-editor-plugin'] ); // "Класичний редактор" або "Редактор блоків" // Статуси постів unset( $post_states['protected'] ); // Захищено паролем unset($post_states['private']); // Особисте unset($post_states['draft']); // Чернетка unset($post_states['pending']); // На затвердженні unset($post_states['sticky']); // Приліплена unset( $post_states['scheduled'] ); // Заплановано // Особливі мітки unset($post_states['page_on_front']); // Головна сторінка unset($post_states['page_for_posts']); // Сторінка записів unset( $post_states['page_for_privacy_policy'] ); // Сторінка політики конфіденційності return $post_states; }
список змін
З версії 2.8.0 | Введено. |
З версії 3.6.0 | Added $post parameter. |
З версії 5.5.0 | Also applied в Customizer context. If any admin functions use used in the filter, their existention should be checked with function_exists() before being used. |
Де викликається хук
display_post_states
wp-admin/includes/template.php 2249
return apply_filters( 'display_post_states', $post_states, $post);
Де використовується хук у WordPress
Використання не знайдено.