Intereting Posts
Как сохранить таксономический термин meta? Проблема с системой входа в систему WordPress Ajax – 302 Получить данные с другого сайта, но с той же базой данных Как создать раскрывающееся меню в виджетах? Можно ли скрыть поле копии тела для пользовательского типа сообщения? Подтвердите адрес электронной почты пользователей при использовании gmail для регистрации Как получить изображение EXIF ​​date / time и использовать его для даты / времени публикации WP Если показанное изображение не существует, покажите содержимое сообщения Повторное использование функций вместо переменных Как контролировать принятие кодировки при запросах HTTP API? Метаданные для таксономии – есть ли способ WordPress сделать это? измените ярлык меню панели инструментов wp Как запустить внешний файл JavaScript на wp-admin, если администратор, и другие, если обычный пользователь? 404 ошибки не будут разрешены Плагины для включения подписки на цифровые активы?

Zero сообщения возвращаются с get_posts () на edit.php, но сообщения возвращаются на post.php

У меня есть функция, которая возвращает все сообщения определенного типа сообщений, упрощенные здесь:

public static function getFoos() { $output = array(); $args = array( 'posts_per_page' => -1, 'post_type' => Foo::POST_TYPE, ); $posts = get_posts($args); foreach ($posts as $post) { $output[$post->ID] = $post->post_title; } return $output; } 

Когда я вызываю эту функцию изнутри admin_enqueue_scripts на post.php , я правильно получаю три ожидаемых сообщения. Однако, когда эта функция запускается из одного и того же hook на edit.php нулевые сообщения. Можно видеть, что getFoos() не принимает никаких параметров.

Я замечаю, что в запросах post.php class-wp-query->get_posts() создает этот SQL:

 SELECT alt_posts.* FROM alt_posts WHERE 1=1 AND alt_posts.post_type = 'foo' AND ((alt_posts.post_status = 'publish')) ORDER BY alt_posts.post_date DESC \G 

Однако в запросах edit.php он создает этот SQL:

 SELECT alt_posts.* FROM alt_posts LEFT JOIN alt_term_relationships ON (alt_posts.ID = alt_term_relationships.object_id) WHERE 1=1 AND ( alt_term_relationships.term_taxonomy_id IN (69) ) AND alt_posts.post_type = 'foo' AND ((alt_posts.post_status = 'publish')) GROUP BY alt_posts.ID ORDER BY alt_posts.post_date DESC 

Почему get_posts() возвращает один и тот же результат при разных вызовах?