Фильтрация по авторам в таблице постов: добавление выпадающего списка в админке WordPress

## Фильтрация по авторам (выпадающий список авторов) в таблице постов админ-панели

В этом материале мы рассмотрим, как добавить новый фильтр по авторам в таблицу постов в админ-панели WordPress.

### Про��лема

Представьте, что у вас есть сайт с несколькими авторами, но не хватает возможности фильтровать посты по конкретному автору. Мы покажем, как это можно сделать с помощью простого кода.

### Решение

Ниже представлен код, который добавляет выпадающий список авторов в таблицу постов админ-панели WordPress (рядом с выпадающими списками по дате и категориям):


if( is_admin() ){

    add_action( 'restrict_manage_posts', 'wp_posts_list__author_dropdown' );

    function wp_posts_list__author_dropdown( $post_type ){

        if( ! in_array( $post_type, ['page','post'] ) ){
            return;
        }

        wp_dropdown_users( [
            'show_option_all' => 'Все авторы',
            'selected'        => get_query_var( 'author', 0 ),
            'name'            => 'author',
            'who'             => 'authors',
        ] );
    }
}


### Объяснение кода

В приведённом коде используется функция и хуки:

- **restrict_manage_posts** — этот хуку позволяет добавлять дополнительные элементы управления в таблице постов.
- **wp_dropdown_users()** — эта функция создает выпадающий список пользователей (в данном случае — авторов).

### Результат

После добавления этого кода вы получите выпадающий список авторов в таблице постов. Это позволит вам быстро находить посты, написанные конкретными авторами. 

![Выпадающий список авторов в таблице постов](https://www.link-to-your-image.com/sample-image.png)

### Заключение

Чтобы лучше понять, как работает данное решение, рекомендуется ознакомиться с документацией по использованию хуков и функций в WordPress. Это поможет вам в дальнейшем настраивать сайт под свои нужды и добавлять другие полезные функции.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *