>将PHP数据传递给JavaScript的最佳实践:wp_localize_script
>和wp_add_inline_script
>
>将数据存储在PHP文件中的静态字符串中是建议的练习。 如果在您的JavaScript代码中需要此数据,请使用wp_localize_script
或wp_add_inline_script
>直接将其合并到您的HTML中。
使用wp_enqueue_scripts
涉及的传统方法。让我们检查其继任者wp_localize_script
,以及更新的,首选的方法,wp_add_inline_script
>
函数wp_localize_script
wp_localize_script( $handle, $objectName, $arrayOfValues );
$handle
$objectName
$arrayOfValues
>
functions.php
在您的JavaScript(
wp_enqueue_script( 'my_js_library', get_template_directory_uri() . '/js/myLibrary.js' ); $dataToBePassed = array( 'home' => get_stylesheet_directory_uri(), 'pleaseWaitLabel' => __( 'Please wait...', 'default' ) ); wp_localize_script( 'my_js_library', 'php_vars', $dataToBePassed );访问这样的数据:
。 此方法消除了myLibrary.js
> php_vars.home
中的代码的需求
php_vars.pleaseWaitLabel
header.php
wp_add_inline_script
这个较新的功能提供了一种简化的方法。它的语法为:
wp_add_inline_script( $handle, $data, $position = 'after' );:JavaScript文件的注册句柄。
$handle
>
$data
>
$position
中的示例:>您的JavaScript可以通过functions.php
>和
wp_enqueue_script( 'my_js_library', get_template_directory_uri() . '/js/myLibrary.js' ); $dataToBePassed = array( 'home' => get_stylesheet_directory_uri(), 'pleaseWaitLabel' => __( 'Please wait...', 'default' ) ); wp_add_inline_script( 'my_js_library', 'const php_vars = ' . json_encode( $dataToBePassed ), 'before' );清洁器。
>
php_vars.home
php_vars.pleaseWaitLabel
结论header.php
>通常是其简单性和效率的首选。但是,仍然是一个有效的选择,特别是如果您更喜欢一种更结构化的方法来管理数据。 选择最适合您的编码样式和项目需求的方法。 这种提高的清晰度和效率使这些功能为任何WordPress开发人员提供了宝贵的工具。
以上是如何将PHP数据和字符串传递给WordPress中的JavaScript的详细内容。更多信息请关注PHP中文网其他相关文章!