首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >让Wordpress自定义字段信息(存储在PHP多维数组中)可以在jquery中操作的方法?

让Wordpress自定义字段信息(存储在PHP多维数组中)可以在jquery中操作的方法?
EN

Stack Overflow用户
提问于 2011-10-21 06:42:52
回答 1查看 231关注 0票数 0

这就是我想要做的。我在wordpress的一个分类页面上(这个分类实际上是一堆食物),我正在尝试为帖子实现一个营养计算器。因此,随着循环的进行,它将显示来自自定义字段的一些信息,并将其余信息存储在一个数组中。

代码语言:javascript
运行
复制
            <?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时,获取数组中的所有关联值,并将它们添加到计算器中显示的变量中。

我已经尝试了多种方法,但都没有成功,所以我以一个失败者的身份来向你寻求建议。任何想法..。或者如果我必须换一种方式...任何能带我到那里的东西。

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-25 15:36:53

问题是您将营养信息存储在服务器端的PHP中的多维数组中,并且需要通过客户端的jQuery访问它。因此,解决方案是将营养信息转换为客户端Javascript数组。幸运的是,PHP提供了一种快速的方法--在循环之后,使用json_encode方法来转换数组:

代码语言:javascript
运行
复制
<script type="text/javascript">
var nutrition_info = <?php echo json_encode($nutrition_info); ?>;
</script>

在jQuery事件处理程序中,您应该能够访问所有营养信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7843125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档