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

Дозволяє додати стан (мітку) запису до таблиці записів у адмінці. Таку мітку стану можна бачити, наприклад, коли запис у чернетці, на затвердженні і т.д.

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

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)
Об’єкт поточного запису, для якого фільтруються стани.

Приклади

0

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

Отримаємо


0

#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.0Added $post parameter.
З версії 5.5.0Also 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

Використання не знайдено.

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

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