从数组字符串中获取要使用POST__IN的值

时间:2014-05-21 作者:gurung

基本上,我需要帮助构建一个适当的数组以作为值传递post__in

基本上,代码必须获得帖子的特征图像only for selected ids. 我需要您的帮助,以正确的方式提取相关数组字符串的值,因为当前代码会给出警告Warning: implode(): Invalid arguments passed in .../... 但它仍然显示图像。问题是它显示所有帖子中的图像,而不是images only from posts with selected ids, 如预期的那样。

 $sel_ids = $_SESSION[\'selected_ids\'];

 global $wpdb; 
 require_once(\'../../../../wp-load.php\');

 $args = array(\'post__in\' => implode( \', \', $sel_ids ), \'post_type\' => \'post\');   
 $posts = get_posts($args);

 foreach ($posts as $post) {
     echo get_the_post_thumbnail($post->ID, \'coverimage\');
 }
在上面代码块的第一行中,此字符串$sel_ids 携带所选帖子的ID。什么时候echoed 给予Array. 什么时候var_dump($sel_ids) 显示

array(2) { [0]=> string(2) "67" [1]=> string(2) "16" }
以及foreach 给出一个字符串,例如6716. 我不需要foreach 在我的代码中,但提供额外的信息,以便它可以帮助您更好地推断。上面的代码不在模板页面上,而是在单独的页面上。它实际上是一个表单处理器。我需要在这里运行代码,因为我需要获取这些值并稍后通过电子邮件发送它们。所以我加载了WordPress全局文件。会话用于从表单中携带数组值。

更新-@Mamaduka-这里是gmail中电子邮件来源的相关部分

Array<img src="http://xxxxxxxxx.com/wp-content/uploads/2014/04/360.jpg">

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

问题是,post_in 仅接受post ID数组和implode() 返回字符串。

下面是固定代码的外观(还添加了一些条件检查):

$sel_ids = $_SESSION[\'selected_ids\'];

/**
 * Check, if we have array of Post IDs
 */
if ( ! is_array( $sel_ids ) ) {
    return;
}

require_once(\'../../../../wp-load.php\');

$args = array( \'post__in\' => $sel_ids, \'post_type\' => \'post\' );
$posts = get_posts($args);

if ( empty( $posts ) ) {
    return;
}

foreach ($posts as $post) {
    echo get_the_post_thumbnail($post->ID, \'coverimage\');
}

结束

相关推荐

错误:CALL_USER_FUNC_ARRAY()要求参数1是有效的回调

我在将wordpress升级到3.6版本后遇到了问题,请参阅下面显示在wordpress管理面板上而不是网站正面的错误。警告:call\\u user\\u func\\u array()要求参数1是有效的回调,未找到函数“regis\\u options”,或者wp includes/plugin中的函数名无效。php在线406警告:无法修改标题信息–标题已由wp includes/option中的(输出开始于wp includes/plugin.php:406)发送。php在线571警告:无法修改标题