使用来自循环的数据的最佳方式

时间:2015-09-02 作者:Alex

我正在努力学习WP主题开发。目前,我正试图找出如何在JavaScript中使用循环中的数据。

假设我在一个加载了wp\\u enqueue的外部脚本文件中获得了一些JavaScripts函数。而且这个脚本需要从meta中获取大量数据以供发布。

将此数据从循环中获取到脚本的最佳做法是什么。我应该将数据循环输出到全局JavaScript数组或脚本随后使用的对象吗?什么是“最佳实践”?我特别考虑的是“让JavaScript代码远离模板,应该只从外部文件加载”。

我还读到,当您在WP中使用全局变量、数组或对象时,需要在文件顶部对此进行注释?这是正确的吗?那么我应该在这个评论头上写些什么呢?

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

您可以使用WP\\u Query从Wordpress安装中获取几乎任何post数据。

$sub_pages = new WP_Query(
    array( 
        \'post_parent\' => 3,
        \'post_type\' => \'page\'
    )
);

print_r($sub_pages->posts);
这将为您带来以下好处:

Array
(
    [0] => WP_Post Object
        (
            [ID] => 94
            [post_author] => 1
            [post_date] => 2015-08-20 11:19:27
            [post_date_gmt] => 2015-08-20 10:19:27
            [post_content] => Business operating...
满是帖子的数组。因此,您只需对其进行json编码,并将其包装在脚本标记中。

<script type="text/javascript">
    var post_info = <?php echo json_encode($sub_pages->posts); ?>;
</script>
这将输出:

<script type="text/javascript">
    var post_info = [{"ID":94,"post_author":"1","post_date":"2015-08-20 11:19:27","post_date_gmt":"2015-08-20 10:19:27","post_content":"Business operating
现在,如果我把它放在加载JavaScript的地方之前,即

<script type="text/javascript">
    var post_info = <?php echo json_encode($sub_pages->posts); ?>;
</script>
<script type="text/javascript" src="script.js"></script>
在中script.js 我可以走了

console.log(post_info[0].ID);
我们会得到94 在控制台中。