wp_localize_script
获取数据数组(在PHP中)并输出javascript。这是一种将特定脚本的动态数据添加到前端的方法,而无需挂接到wp\\u head或wp\\u footer中,并自己进行回显。更多信息,wp_localize_script
在您排队的脚本正上方输出数据。钩住wp_head
或wp_footer
不会那样做的。
wp_localize_script
不调用javascript函数。这是一种完全满足您需求的方法:将动态数据从服务器端(PHP)传递到客户端(javascript)。
An Example
您的主题需要获取一段post元数据,并使其可供javascript函数访问。
所以你会wp_enqueue_scripts
然后执行以下操作。。。
<?php
add_action( \'wp_enqueue_scripts\', \'wpse34008_enqueue\' );
function wpse34008_enqueue()
{
// if we\'re not on a singular page, bail
if( ! is_singular() ) return;
global $post;
if( empty( $post ) ) $post = get_queried_object();
// enqueue your script...
wp_enqueue_script( \'wpse34008-script\', \'http://example.com/path/to/script.js\' );
wp_localize_script(
\'wpse34008-script\',
\'wpse34008\',
array(
\'meta\' => get_post_meta( $post->ID, \'_wpse34008_meta\', true )
)
);
}
然后在排队的某个地方
script.js
文件,你可以像这样得到帖子元。。。
// somewhere in the js file
someFunction( wpse34008.meta );
有意义吗?