变量未传递到WordPress循环中

时间:2017-07-19 作者:cchiera

在我的WordPress自定义帖子类型循环中,只想从三个帖子5171、5167和5165中引入。

如果我这样做:

\'post__in\' => array(5171,5167,5165),
循环会正确输出这三个值。

如果我这样做:

\'post__in\' => array($my_share),
它只输出5171. 然而$my_share 等于5171,5167,5165. 如果我这样做了echo $my_share 它还显示5171,5167,5165.

$my\\u share只将第一个值传递到post\\u in数组中,或者围绕这个问题,有什么明显的原因吗?

1 个回复
最合适的回答,由SO网友:majick 整理而成

如果$my\\u share回显为“517151675165”,则它是一个字符串而不是数组。。。

换句话说array($string) 不等于array(integer,integer,integer) 即使$string 等于“integer,integer,integer”,因为数组将$字符串视为单个值,其他值用逗号分隔。

你可以使用post__in => explode(",", $my_share), 要在传递字符串时将其转换为数组。。。否则,您可以尝试使用post__in => $my_share, 而且它可能会为您转换为一个数组(但如果不深入研究代码就不确定了)

结束

相关推荐

未定义变量:WooCommerce_loop

今天,我更新了woocommerce插件,在我的网站上发现以下错误:未定义变量:woocommerce\\u loop我的循环看起来像(对archive-product template 一年前):<?php $newReleasesCounter = 0; $loop = new WP_Query( $args_new_releases ); while ( $loop->have_posts() ) : $loop->the_post(); global $p