43,23,65
。我希望可以使用
get_posts()
并使用带有ID的字符串作为参数。但是我找不到用于通过ID检索多个帖子。
我真的需要做
WP_query
吗?我也看到有人提到使用
tag_in
-但我找不到有关的任何文档这个。#1 楼
您可以使用get_posts()
,因为它采用与WP_Query
相同的参数。要使用ID传递ID,请使用
'post__in' => array(43,23,65)
(仅使用数组)。 类似的东西:
$args = array(
'post__in' => array(43,23,65)
);
$posts = get_posts($args);
foreach ($posts as $p) :
//post!
endforeach;
我还设置了
post_type
和posts_per_page
只是为了很好的测量。评论
这行不通。
–异议人士愤怒
15年8月5日在19:22
没有?您是否将其作为数组传递?使用两个下划线(post__in与post_in)?传递post_type?
–CookiesForDevo
15年8月6日在1:10
如果要获取自定义帖子类型,请使用post_type参数,如果要获得5个以上的结果,请添加'nopaging'=> true选项。如果您使用逗号分隔的字符串而不是数组,请使用explode(',',$ input);转换为数组。
–爵士乐
17年1月19日在13:48
如果要保持帖子通过数组传递的顺序,请确保在$ args中添加'order_by'=>'post__in'。
– rob_st
17-10-12在10:17
当心使用post_type参数。在发布的情况下,函数将返回所有内容类型,包括您自定义的内容,而不仅仅是发布。
–融合
19年4月23日在11:49
#2 楼
如果您无法执行上述操作,请确保添加post_type
:$args = array(
'post_type' => 'pt_case_study',
'post__in' => array(2417, 2112, 784)
);
$posts = get_posts($args);
评论
您是否尝试过使用get_posts()codex.wordpress.org/Template_Tags/get_posts的“ include”参数?