查询帖子仅显示1

时间:2019-07-15 16:48:01

标签: wordpress

我有一个ID数组:

var_dump($userPostsInternal);
  -> string(13) "128537,128545"

然后我做

$args = array(
    'post__in' => array($userPostsInternal),
    'post_type' => 'post',
    'posts_per_page' => -1,
);
$q = new WP_Query( $args );
foreach ( $q->posts as $post ) {
    $title = $post->title;
    echo $title;
}

但是我只有1个头衔。有2篇文章,并且确实有我们在var_dump();

中看到的ID

我什至尝试:

foreach ( $q->posts as $post ) {
    $title = get_the_title();
    echo $title;

但是我仍然只有一个标题。

如果我爆炸$userPostsInternal,我会得到array(2) { [0]=> string(6) "128537" [1]=> string(6) "128545" },根本没有结果

2 个答案:

答案 0 :(得分:1)

爆炸后,必须从查询中删除array()。

$string = '128537,128545';

$userPostsInternal = explode( ',' , $string);

$args = array(
    'post__in' => $userPostsInternal,
    'post_type' => 'post',
    'posts_per_page' => -1,
);

$q = new WP_Query( $args );

答案 1 :(得分:0)

好,这就是问题:

我使用了查询

$args = array(
    'post__in' => array($userPostsInternal),

以下事实是一个字符串

var_dump($userPostsInternal);
  -> string(13) "128537,128545"

我认为在这里声明数组会起作用

array($userPostsInternal)

但是不是,因此要感谢评论,建议我爆炸$userPostsInternal,将字符串转换为数组,然后我必须删除数组声明,进行如下查询:

$userPostsInternal = explode( ',' , $userPostsInternal);
$args = array(
    'post__in' => $userPostsInternal,