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

views_(screen_id) хук-фильтр . WP 3.5.0

Позволяет изменить список доступных вариантов отображения таблицы.

В примере, что на скриншоте, через хук-фильтр проходят следующие данные:

Array
(
	[all] => <a href="edit.php?post_type=post&all_posts=1">Все <span class="count">(21)</span></a>
	[mine] => <a href="edit.php?post_type=post&author=3" class="current" aria-current="page">Мои <span class="count">(5)</span></a>
	[publish] => <a href="edit.php?post_status=publish&post_type=post">Опубликованные <span class="count">(15)</span></a>
	[sticky] => <a href="edit.php?post_type=post&show_sticky=1">Прилепленные <span class="count">(2)</span></a>
	[future] => <a href="edit.php?post_status=future&post_type=post">Запланированные <span class="count">(1)</span></a>
	[draft] => <a href="edit.php?post_status=draft&post_type=post">Черновики <span class="count">(3)</span></a>
	[pending] => <a href="edit.php?post_status=pending&post_type=post">На утверждении <span class="count">(2)</span></a>
	[trash] => <a href="edit.php?post_status=trash&post_type=post">Корзина <span class="count">(2)</span></a>
)

Имя хука генерируется динамически на основании свойства $this->screen->id (уникальный ID экрана админки), значения screen_id смотрите здесь: get_current_screen().

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

add_filter( 'views_(screen_id)', 'filter_function_name_3558' );
function filter_function_name_3558( $views ){
	// Изменяем...

	return $views;
}
$views(массив)
Список ссылок: вариантов отображения таблицы.

Примеры

#1 Удалим один элемент (sticky) из списка для таблицы постов

add_filter( 'views_edit-post', function( $array ){
	unset( $array['sticky'] );
	return $array;
} );

#2 Удалим весь список действий для таблицы постов

add_filter( 'views_edit-post', '__return_empty_array' );

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

WP_List_Table::views()
views_(screen_id)
WP_Media_List_Table::views()
views_(screen_id)
WP_Plugin_Install_List_Table::views()
views_(screen_id)
wp-admin/includes/class-wp-list-table.php 375
$views = apply_filters( "views_{$this->screen->id}", $views );
wp-admin/includes/class-wp-media-list-table.php 255
$views = apply_filters( "views_{$this->screen->id}", array() );
wp-admin/includes/class-wp-plugin-install-list-table.php 313
$views = apply_filters( "views_{$this->screen->id}", $views );

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

Не используется.
campusboy 3081youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться