这就是我想要做的。我在wordpress的一个分类页面上(这个分类实际上是一堆食物),我正在尝试为帖子实现一个营养计算器。因此,随着循环的进行,它将显示来自自定义字段的一些信息,并将其余信息存储在一个数组中。
<?php
$nutrition_info = array(); //Master Multidimentional Array
$posts = query_posts($query_string . '&orderby=title&order=asc&posts_per_page=-1');//show all posts in our the category sorted alphabetically
if ( have_posts() ) : while ( have_posts() ) : the_post();
$prodslug = basename(get_permalink());
global $post;$thePostID = $post->ID;
$posttitle = get_the_title();
// what to render
?>
<div id="<?php echo $prodslug ?>" class="gridprod">
<a class="prodimg" href="<?php echo get_permalink() ?>">
<img src="<?php echo get('imagery_display_image'); ?>" height="200" width="210">
</a>
<div class="overlay">
<a class="prodname" href="<?php echo get_permalink() ?>"><?php the_title(); ?></a>
<a href="javascript:void(0)" class="add softserve-scooped <?php echo $thePostID ?>"> Add </a><br>
<a class="prodlink" href="<?php echo get_permalink() ?>">details ...</a>
</div>
</div>
<?php $temp = array(
title => $posttitle,
slug => $prodslug,
calories => get('nutritional_information_calories'),
totalfat => get('nutritional_information_total_fat'),
saturated => get('nutritional_information_saturated_fat'),
trans => get('nutritional_information_trans_fat'),
cholesterol => get('nutritional_information_cholesterol'),
sodium => get('nutritional_information_sodium'),
carbs => get('nutritional_information_total_carbs'),
fiber => get('nutritional_information_fiber'),
sugar => get('nutritional_information_sugar'),
protien => get('nutritional_information_protien'),
vitamina => get('nutritional_information_vitamin_a'),
vitamind => get('nutritional_information_vitamin_d'),
calcium => get('nutritional_information_calcium_')) ?>
<?php array_push($nutrition_info, $temp); ?>
<?php endwhile;
<?php endif; ?>
这部分工作得很好。$nutrition_info按照预期作为多维数组进行填充。所以现在我需要这样做,这样我就可以用jquery (即.单击.add时,获取数组中的所有关联值,并将它们添加到计算器中显示的变量中。
我已经尝试了多种方法,但都没有成功,所以我以一个失败者的身份来向你寻求建议。任何想法..。或者如果我必须换一种方式...任何能带我到那里的东西。
提前感谢
发布于 2012-02-25 15:36:53
问题是您将营养信息存储在服务器端的PHP中的多维数组中,并且需要通过客户端的jQuery访问它。因此,解决方案是将营养信息转换为客户端Javascript数组。幸运的是,PHP提供了一种快速的方法--在循环之后,使用json_encode方法来转换数组:
<script type="text/javascript">
var nutrition_info = <?php echo json_encode($nutrition_info); ?>;
</script>
在jQuery事件处理程序中,您应该能够访问所有营养信息。
https://stackoverflow.com/questions/7843125
复制相似问题