如何在脚本之后调用wp_LOCALIZE_SCRIPT()?

时间:2018-09-07 作者:Alfrex92

我正在尝试在js脚本文件中使用WordPress路径URL。我读过here 我需要使用的wp_localize_script. 但是,根据Codex的文件

在使用wp\\u register\\u script()或wp\\u enqueue\\u script()注册脚本后,必须调用wp\\u localize\\u script()

我该怎么做?

这是我的职责

if(!function_exists(\'pt_scripts\')):
    function pt_scripts () {
        wp_register_style( \'style\', get_stylesheet_uri(), null, \'1.3.1\', \'all\');
        wp_enqueue_style( \'style\');
        wp_register_script( \'scripts\', get_template_directory_uri() . \'/script.js\', array(\'jquery\'), \'1.3.0\', true );
        wp_enqueue_script( \'jquery\' );
        wp_enqueue_script( \'scripts\' );
    }
 endif;

add_action(\'wp_enqueue_scripts\',\'pt_scripts\');
非常感谢你。

1 个回复
SO网友:Krzysiek Dróżdż

嗯,你必须打电话wp_licalize_script 注册脚本后,因为您需要该脚本的句柄。。。当然,你不能本地化不存在的东西。。。

以下是一些示例:

if ( !function_exists(\'pt_scripts\') ):
    function pt_scripts () {
        wp_register_style( \'style\', get_stylesheet_uri(), null, \'1.3.1\', \'all\' );
        wp_enqueue_style( \'style\' );
        wp_register_script( \'scripts\', get_template_directory_uri() . \'/script.js\', array(\'jquery\'), \'1.3.0\', true );
        wp_enqueue_script( \'jquery\' );
        wp_enqueue_script( \'scripts\' );

        wp_localize_script( \'scripts\', \'ScriptsData\', array(
            \'some_data_1\' => \'data1\',
            ...
        ) );  // \'ScriptsData\' is name of object that you can access in your JS
    }
endif;

add_action( \'wp_enqueue_scripts\', \'pt_scripts\' );
PS.\'scripts\' 不是脚本句柄的最佳名称-很容易与此类名称发生冲突。

结束

相关推荐