我正在尝试检索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();
有什么想法吗?
最合适的回答,由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();