Как добавить новую вкладку в список сообщений администратора и обработать список результатов

Ссылки администратора

Цель состоит в том, чтобы показывать сообщения с особыми значениями настраиваемого поля (post meta) на отдельной вкладке. Я знаю, как добавить новую вкладку, вот код:

add_action( 'views_edit-post', 'remove_edit_post_views' ); function remove_edit_post_views( $views ) { $views['pre'] = '<a class="'.$class.'" href="'.admin_url().'edit.php?yourlink">Name of Sort</a>'; return $views; } 

но я понятия не имею, как и где я могу фильтровать сообщения.

Есть идеи?

Solutions Collecting From Web of "Как добавить новую вкладку в список сообщений администратора и обработать список результатов"

Запросы сообщений администратора можно фильтровать так же, как запросы на pre_get_posts используя pre_get_posts и проверку is_admin .

 add_action( 'views_edit-post', 'remove_edit_post_views' ); function remove_edit_post_views( $views ) { $views['pre'] = '<a href="'.admin_url().'edit.php?pre=pre">My Special Posts</a>'; return $views; } add_action('pre_get_posts', 'my_special_list'); function my_special_list( $q ) { $scr = get_current_screen(); if ( is_admin() && ( $scr->base === 'edit' ) && $q->is_main_query() ) { // To target only a post type uncomment following line and adjust post type name // if ( $scr->post_type !== 'post' ) return; // if you change the link in function above adjust next line accordingly $pre = filter_input(INPUT_GET, 'pre', FILTER_SANITIZE_STRING); if ( $pre === 'pre' ) { // adjust meta query to fit your needs $meta_query = array( 'key' => 'is_special', 'value' => 'yes', ); $q->set( 'meta_query', array($meta_query) ); } } }