Intereting Posts
get_terms не возвращает никаких пользовательских таксономий Как сделать ссылку на категорию для сообщения перейдите к соответствующему номеру страницы в архиве? Проверьте, является ли пользователь администратором по ID пользователя WordPress чистая интернационализация для меню? Использование заголовка веб-сайта, меню и нижнего колонтитула в блоге WordPress Как я могу избежать постоянной ссылки на «блог» при использовании настраиваемого типа сообщений? Сохранить номер версии плагина в качестве опции? Добавить категорию только в том случае, если должность имеет категорию таксономии Как фильтровать сообщения по таксомони, используя AJAX Можно ли запрашивать определенные файлы вложения WordPress (.ppt & .pdf) и выводить их в список? Сортировка сообщений, упорядоченных по значению настраиваемого поля Сортировка сообщений Как передать идентификатор сообщения на URL-адрес страницы? Виджеты предназначены для использования за пределами боковых панелей? Добавить окно обзора по функциям вверху или внизу содержимого

Получать несколько сообщений о настраиваемых типах одновременно в запросе edit.php? Post_type

Я планирую настраиваемые функции типа сообщения для своей темы и должен иметь возможность отображать больше, чем один post_type в таблице обзора администратора. Этот запрос, который я предполагаю, может выглядеть как edit.php?post_type[]=theme_slide_nivo&post_type[]=theme_slide_other . На самом деле я этого не пытался, но я уверен, что это не сработает. Итак, ребята, можно ли добиться такого результата без взлома ядра?

Solutions Collecting From Web of "Получать несколько сообщений о настраиваемых типах одновременно в запросе edit.php? Post_type"

Я попробовал это, чтобы получить представление о проблемах, с которыми вы столкнетесь. Следующий код позволяет указать несколько типов сообщений с параметром multi_post_type :

 add_action( 'pre_get_posts', 'wpse12970_pre_get_posts' ); function wpse12970_pre_get_posts( &$wp_query ) { if ( is_admin() && array_key_exists( 'multi_post_type', $_GET ) ) { $wp_query->set( 'post_type', $_GET['multi_post_type'] ); add_filter( 'the_posts', 'wpse12970_the_posts', 10, 2 ); } } function wpse12970_the_posts( $posts, &$wp_query ) { $wp_query->set( 'post_type', $GLOBALS['post_type'] ); return $posts; } 

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

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

Если вы хотите это сделать, вы должны создать свой собственный класс списка, дочерний WP_List_Table , например WP_Posts_List_Table но затем для нескольких типов сообщений. Поскольку edit.php загружает эту таблицу по умолчанию, и я не вижу способа ее перехвата, вы должны создать свою собственную замену edit.php в своем плагине и использовать это. Я думаю, что это выполнимо, и, наверное, интересно, но много работы.