Этот простой фрагмент добавляет раскрывающийся список авторов рядом с раскрывающимися списками дат и категорий. Например, они появляются на экране «Все сообщения» на панели администратора WordPress, но они могут присутствовать и для других типов сообщений. По сути, есть только фильтр для сообщений, которые являются “моими”. Хотя это работает хорошо, почему бы не иметь возможность выбирать кого-то еще? Это выглядит так:
Выпадающий список авторов на PHP в WordPress
Возьмите этот код и добавьте его на свой сайт WordPress:
add_action('admin_init', 'lwp_4694_admin_init');
function lwp_4694_admin_init() {
add_action('restrict_manage_posts', 'lwp_4694_author_dropdown');
}
function lwp_4694_author_dropdown(){
if ($GLOBALS['pagenow'] !== 'edit.php') {
return;
}
$screen = get_current_screen();
if (empty($screen)
|| ($screen->id !== 'edit-page' && $screen->id !== 'edit-post')
) {
return;
}
wp_dropdown_users(array(
'show_option_all' => 'All Authors',
'selected' => get_query_var('author', 0),
'name' => 'author'
));
}Интересно, что раскрывающийся список авторов хорошо интегрируется с уже существующей кнопкой «Фильтр». После теста я заметил, что он отлично работает с другими фильтрами. Более того, я ограничил область применения постами и страницами, так как многие пользовательские типы постов сторонними плагинами не слишком различают контент по авторам. Используются удобные фильтры и функции WordPress (чтобы вам не пришлось учиться в Google):
Без них код был бы намного, намного длиннее. Тот, кто создает настоящий выпадающий список, является героем дня. С его аргументом selected я передаю ему идентификатор выбранного пользователя, поэтому элемент select запоминает выбранного автора.
Другой подход?
Надеюсь, этот фрагмент может помочь вам и вашей команде, дайте нам знать в комментариях, если это так!
Источник записи: https://letswp.io
