如何使用模板中的数据将参数传递给wp_footer挂钩

时间:2018-05-07 作者:William Ode

我需要在通过加载所有js文件之后显示一个脚本wp_enqueue_script

在我的功能中。php:

function list_hotels($hotels){ ?>
    <script>
        var positions = [];
        positions = <?php echo json_encode($hotels); ?>
    </script>
    <?php
}
add_action(\'wp_footer\', \'list_hotels\', 50, 1);
在我的模板中(有一个$hotels var是一个数组):

do_action( \'wp_footer\', $hotels );
我的代码怎么了?

2 个回复
SO网友:Suresh Sapkota

将PHP变量传递给JavaScript的最佳方法是使用wp_localize_script, 这有助于使用JavaScript变量的数据本地化已注册的脚本。

以下是中的解决方案StackOverflow, 您可以从中获得解决问题的想法。

SO网友:Mark Kaplun

除了它们声明的参数之外,向挂钩传递额外参数的正确方法是使用closures

在你的情况下

add_action( \'wp_footer\', function () use ($hotels) { list_hotels($hotels) });
Theuse 关键字允许在声明闭包的上下文和使用闭包的上下文之间共享变量(表示实际执行操作的时间)。

结束

相关推荐

Wordpress Admin Tooltip hooks

我想知道是否有一种方法可以使用Wordpress管理工具提示(灰色和蓝色),当你更新你的Wordpress(3.x)时会显示这些提示。显示新功能。谢谢