是否可以从 WordPress 模板 PHP 文件更改 script.js

我有一个问题想解决,但不完全了解如何处理它,想知道这里是否有人知道办法。


在我的 WordPress 主题中,我有一个位于 JS 文件夹中的 script.js 文件,该文件具有用于在页面加载时加载 Instagram 提要的脚本。


$(window).on('load', function(){

 $.instagramFeed({

'username': 'usernamehere',

'container': "#instagram-feed-demo",

'display_profile': false,

'display_biography': false,

'display_igtv': false,

'items': 9,

'items_per_row': 3,

  'styling': false

 });

}); 

在我的 WordPress 单页模板中,我想通过使用自定义字段填充用户名字符串,但如果我将脚本移动到脚本标记中的模板中,它不起作用,但在 script.js 文件中工作正常。


有谁知道从单个模板填充字符串的方法吗?


小怪兽爱吃肉
浏览 68回答 1
1回答

杨__羊羊

不确定我是否正确理解你需要什么,但你可以检查它加载 script.js 文件的模板(使用wp_enqueue_script函数)并使用相同的处理程序名称添加另一个wp_localize_script函数调用并将它传递给一个变量数组以供使用javascript。例子:wp_enqueue_script('script-handler', 'url to the script.js file', []);wp_localize_script('script-handler', 'jsObjectName', [  'username' => $usernamehere,]);jsObjectName使用该函数创建的 js 对象wp_localize_script将先于对 script.js 文件的调用,使其值可用于脚本。现在将 Instegram 代码更改为如下所示:$(window).on('load', function(){  $.instagramFeed({    'username': jsObjectName.username,    'container': "#instagram-feed-demo",    'display_profile': false,    'display_biography': false,    'display_igtv': false,    'items': 9,    'items_per_row': 3,    'styling': false  });});
打开App,查看更多内容
随时随地看视频慕课网APP