Intereting Posts
Измените главный архив, чтобы показывать сообщения с мета как последними Получить текущую активную цветовую схему wp использование slug вместо ID в admin edit post url Проблема фильтра типа mime в WordPress 4.0 Отправить сообщение и загрузить изображение из интерфейса Получите «слизню» пользовательской таксономии Перемещение медиа-библиотеки в медиа-библиотеку совершенно другого сайта Как передать код с header.php на footer.php «О нас», «контактные» разделы должны быть опубликованы в статье (публикации) или странице на простом маленьком бизнес-сайте? Случайная перерисовка страницы WordPress register_post_type Недопустимый тип сообщения is_page не работает при загрузке javascript с помощью add_action в functions.php WP Multisite – многоязычный – переход на другой язык по клику, но «тот же» контент слияние терминов программно при сохранении счета Можно ли переместить wordpress из webroot?

Использование в 'category_name' в '$ query-> set ();'?

Вот функция, которую я имею в функциях my.php моей темы:

function better_editions( $query ) { // Categories act as 'Editions' on my site $get_edition = get_query_var( 'category_name' ); if( $get_edition !== '' ) { $edition = get_term_by( 'slug', $get_edition, 'category' ); if( $edition && !is_wp_error( $edition ) ) { $edition = $get_edition; } } if ( $query->is_category() && isset($edition) && $query->is_main_query() ) { $query->set( 'post_type', array( 'post' ) ); $query->set( 'category_name', $edition.', intl' ); } } add_action( 'pre_get_posts', 'better_editions' ); 

Я использую эту функцию для отображения сообщений, относящихся к категории «International (intl)» для всех категорий (во всех категориях, в списках категорий и т. Д.).

Как я узнал, чтобы определить несколько категорий с category_name в $query->set(); , это единственный способ, если я не ошибаюсь:

 $query->set( 'category_name', 'category1, category2' ); 

Это то, что я делаю, как показано в функции выше.

Проблема в том, что с функцией на месте я получаю эту ошибку:

Примечание. Преобразование массива в строку в /var/www/wp.dev/public/wp-admin/edit.php в строке 225

Ошибка видна только при debug и только на странице «Все сообщения» категории. Например…

 http://wp.dev/wp-admin/edit.php?category_name=intl 

… в приведенной выше ссылке перечислены все сообщения в категории «Международный (intl)» в wp-admin.

Что я делаю неправильно в функции? Как это исправить?

ПРИМЕЧАНИЕ. Я не хочу использовать !is_admin() потому что я хочу, чтобы функция также применима к wp-admin.

Solutions Collecting From Web of "Использование в 'category_name' в '$ query-> set ();'?"

Я не могу дублировать проблему, но Notice ссылается на эту строку :

 add_screen_option( 'per_page', array( 'label' => $title, 'default' => 20, 'option' => 'edit_' . $post_type . '_per_page' ) ); 

И это заставляет меня думать, что вы должны передавать тип сообщения в строку GET .

 http://wp.dev/wp-admin/edit.php?post_type=post&category_name=intl 

Просто думаю, поскольку я не могу дублировать проблему. Если это не переместит вас вперед, я удалю ответ 🙂