我正在尝试使用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文件?
感谢
答案 0 :(得分:1)
声明数组,语法要求你:
array( 'twitterId' => '39403940349403' );
将脚本更改为:
jQuery(document).ready(function ($) {
if ($('body.default').length) {
twitterFetcher.fetch(SiteParameters.twitterId, 'twitter-fetcher-tweet', 1, true, false);
};
});
有时最大的问题是由最愚蠢的错误引起的。
您知道,您宣布twitterId
并尝试以twitterID
方式访问它。
去过那里,做到了。