WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Купить персональные IPV4 и IPV6 прокси

display_post_states хук-фильтр . WP 2.8.0

Позволяет добавить состояние (метку) записи в таблицу записей в админке. Такую метку состояния, можно видеть, например, когда запись в черновике, на утверждении и т.д.

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

add_filter( 'display_post_states', 'filter_function_name_6497', 10, 2 );
function filter_function_name_6497( $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 the $post parameter.

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

_post_states()
display_post_states
wp-admin/includes/template.php 2071
$post_states = apply_filters( 'display_post_states', $post_states, $post );

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

Использование не найдено.
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться