我正在使用WP电子商务建立一个商店,在左右侧边栏上有一个随机的产品生成器。因此,同一个产品不会在页面上出现两次,我在左侧边栏中获得了每个产品的帖子id,并将其从右侧边栏的产品查询中排除。
我使用带有array\\u push的数组执行此操作:
<?php $leftids = array(); ?>
<?php query_posts(\'post_type=wpsc-product&showposts=2&orderby=rand&wpsc_rand=i-want-this-product-to-be-random\'); if (have_posts()) : while (have_posts()) : the_post(); ?>
<div style="display:none"><?php the_title(); ?></div>
<a href="<?php the_permalink();?>"><?php the_post_thumbnail(\'sidebarimg\');?></a>
<h2><?php the_title(); ?></h2>
<?php array_push($leftids, $post->ID); ?>
<?php echo $leftids[0]; ?>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>
问题是,我根本无法在产品页面上访问此数组。它可以在普通的wordpress页面上正常工作,如主页或联系我们。
有什么想法吗?
谢谢
最合适的回答,由SO网友:Yoav Aner 整理而成
不确定代码段放置在何处,以及尝试从何处访问它。一个简单(但丑陋)的解决方案可能只是将此数组设置为全局数组。
类似于
$GLOBALS[\'leftids\'] = $leftids;
然后从其他代码使用
global $leftids;
echo $leftids[0];