WordPress - 使用wp_localize,但无法正确输出

时间:2014-02-28 11:34:55

标签: javascript php wordpress

我正在尝试使用wp_localize将php拉入js文件。我可以让php回显到页脚中的CDATA标签,但实际上并没有进入js文件,即使我遵循了我在很多地方看过的建议吗?

我在我的functions.php文件中有这个 -

function js_enqueue_scripts() {

global $theme_options;
$site_parameters = array(
    'twitterId=' . $theme_options['divider-twitter-id']
    );

wp_register_script( 'scripts', get_template_directory_uri() .'/assets/js/scripts.js', 'jquery', '1.0', true );
wp_enqueue_script( "scripts" );
wp_localize_script( 'scripts', 'SiteParameters', $site_parameters );
}
add_action( "wp_enqueue_scripts", "js_enqueue_scripts" );

现在变量twitterID会将我的主题选项(即; 39403940349403)中设置的正确数字输出到页脚中的CDATA标签,但不会输出到我的scripts.js文件中?

scripts.js的代码如下 -

jQuery(document).ready(function ($) {

if ($('body.default').length) {
    twitterFetcher.fetch('SiteParameters.twitterID', 'twitter-fetcher-tweet', 1, true, false);
};

});

需要以上输出为 -

twitterFetcher.fetch('348394839438493', 'twitter-fetcher-tweet', 1, true, false);

但它只是没有从函数传递到js文件?

感谢

1 个答案:

答案 0 :(得分:1)

  1. 声明数组,语法要求你:

    array( 'twitterId' => '39403940349403' );

  2. 将脚本更改为:

    jQuery(document).ready(function ($) {
    
    if ($('body.default').length) {
        twitterFetcher.fetch(SiteParameters.twitterId, 'twitter-fetcher-tweet', 1, true, false);
    };
    
    });
    
  3. 有时最大的问题是由最愚蠢的错误引起的。

    您知道,您宣布twitterId并尝试以twitterID方式访问它。

    去过那里,做到了。