Нужна функциональность со всеми списками сообщений, доступными в edit.php

Я решил основной запрос:

Для панели инструментов WordPress мне нужен список всех сообщений, связанных со всеми типами сообщений в:

edit.php?post_type=product 

Используя концепцию:

 edit.php?post_type=product&showall=true 

С функцией в backend function.php

 function show_all_posttypes( $query ) { if( ! is_admin() ) { return; } if( isset( $_GET, $_GET['showall'] ) && true == $_GET['showall'] ) { $query->set( 'post_type', array('product', 'second_type_product', 'third_type_product') ); } } add_filter( 'pre_get_posts', 'show_all_posttypes' ); 

И после этого все мои сообщения, связанные с тремя типами сообщений: product, second_type_product, third_type_product перечислены очень хорошо по URL:

edit.php? post_type = продукт и SHOWALL = верно

Но когда я использую его функцию для фильтрации на странице edit.php со всеми перечисленными сообщениями, он говорит:

Недопустимый тип сообщения

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

Спасибо за поддержку!

Solutions Collecting From Web of "Нужна функциональность со всеми списками сообщений, доступными в edit.php"

Invalid Post Type может отображаться всякий раз, когда у вас есть ошибка (тип или т. Д.) В 'product', 'second_type_product', 'third_type_product' . Убедитесь, что у вас там правильные слова.

Я бы отлаживал его следующим образом:

  • Проверьте, где находится ошибка: это почти наверняка в файле wp-admin / edit.php – отлаживает переменную $ post_type
  • Попробуйте правильно установить переменную типа post в запросе pre_get_posts

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

Ваш код в порядке. Из сообщения об ошибке и параметров URL, я могу догадаться, что в вашей установке нет product CPT, он будет работать, если вы замените использование любых зарегистрированных типов записей ( post , page , …) или добавите product CPT (путем установки WooCommerce например).

И, кстати, я считаю, что вы заменяете все страницы с листингом на листе на той же странице, где перечислены product , second_type_product и third_type_product . Вы уверены, что это то, что вы хотите?