将Cookie数据用于WP_Query循环

时间:2015-07-06 作者:user2994718

我正在尝试检索cookie中的数据集,并使用它来运行查询。

我已经在函数中设置了cookie。php之类;

add_action( \'init\', \'resultsCookie\' );
function resultsCookie() {

   setcookie( \'your-results\', \'18,17,11,8,10,27,26\', time() + 3600, COOKIEPATH, COOKIE_DOMAIN );
}
虽然我可以回显字符串,但我似乎无法在查询中实现此功能;

$cookie_array = $_COOKIE["your-results"];

// Test output              
echo $cookie_array;

$sug_args =  array(
  \'post_type\' => \'product\',
  \'post__in\' => array( $cookie_array )
);

$sug_query = new WP_query ($sug_args);

if($sug_query->have_posts()) : while($sug_query->have_posts()) : $sug_query->the_post();

  // Run Loop                   
  wc_get_template_part( \'content\', \'product\' ); 

endwhile; endif; wp_reset_query();
有什么想法吗?

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

您需要分解逗号分隔的字符串以获得ID数组。遵循以下代码。

$cookie_array = $_COOKIE["your-results"];

// Test output              
echo $cookie_array;

$cookie_array = array_map( \'absint\', (array) explode(\',\', $cookie_array) );

$sug_args =  array(
  \'post_type\' => \'product\',
  \'post__in\'  => $cookie_array,
);

$sug_query = new WP_query ($sug_args);

if( $sug_query->have_posts() ) : 
    while( $sug_query->have_posts() ) : 
        $sug_query->the_post();

        // Run Loop                   
        wc_get_template_part( \'content\', \'product\' ); 

    endwhile; 
endif; 

wp_reset_query();

结束

相关推荐

使用绝对路径从unction.php获取wp根文件夹的外部

大家好,我在使用绝对路径链接css文件时遇到了相对路径问题。基本上我和那个人有着完全相同的问题here 然而,我do not 希望使用网站的URL链接css文件。无论我做什么,word press都会尝试在其前面放置自己的文件路径。如果我这样做了:wp_enqueue_style(\'media\', $_SERVER[\"DOCUMENT_ROOT\"] . \'/assets/css/media.css\'); word press会告诉我:<link rel=\"stylesheet