WP_Query только по идентификатору?

45

В кодексе WP_Queryя вижу, вы можете запросить по page_id=7страницам или по p=7сообщениям. Есть ли способ получить сообщение любого типа по идентификатору? Как id=7это получится, независимо от того, является ли это страница, сообщение или пользовательский тип сообщения?

Я могу только WP_Queryс p=7работать , если я добавлю &post_type=customposttype. Есть ли способ получить его из ID независимо от типа сообщения?

supertrue
источник

Ответы:

68

any должен получить любой тип:

$args = array(
  'p'         => 42, // ID of a page, post, or custom type
  'post_type' => 'any'
);
$my_posts = new WP_Query($args);

Обратите внимание на описание anyв документации:

'any' - извлекает любой тип кроме ревизий и типов, для которого для exclude_from_search установлено значение true.

Для получения дополнительной информации ознакомьтесь с документацией WP_Query .

Milo
источник
7
для уточнения или нескольких постов $query = new WP_Query( array( 'post_type' => 'any', 'post__in' => array( 2, 5, 12, 14, 20 ) ) );вы можете использовать postTypes = page, post, any;
Мохаммед Суфиан