我正在开发一个网站,我创建了一个js脚本,为我创建了侧面菜单。
它会读取所有标题并创建滚动菜单。
它完美地解决了我现在面临的问题是我必须在每个帖子页面上调用js函数。由于我的网页上有很多帖子,这可能会耗费一些时间。每次在网页上显示帖子时,都可以自动加载脚本吗?
如果有人感兴趣,我的代码是:
function create_navigation() {
allid = []; //tabela z vsemi id ji, ki morajo biti v meniju
elements = document.getElementsByTagName("h1");
for (var i = 0; i < elements.length; i++) {
if (elements[i].id != "") {
allid.push(elements[i].id)
}
}
elements = document.getElementsByTagName("h2");
for (var i = 0; i < elements.length; i++) {
if (elements[i].id != "") {
allid.push(elements[i].id)
}
}
for (var i = 0; i < allid.length; i++) {
var table = document.getElementById("qweqwe");
var row = table.insertRow(i);
var cell1 = row.insertCell(0);
cell1.innerHTML = "<a href=\"#" + allid[i] + "\" class=\"_ps2id _mPS2id-h mPS2id-highlight mPS2id-highlight-first mPS2id-highlight-last\" data-ps2id-offset=\"\">" + document.getElementById(allid[i]).innerHTML +
"</a>";
}
}
&#13;
目前我在每个希望它出现的帖子页面上调用create_navigation函数。
这也是正确的做法吗?我对Wordpress缺乏经验,并有时间更好地动态创建侧面菜单。
答案 0 :(得分:1)
最好的解决方案是将此代码添加到主题JS文件中。这样它就会在每次加载页面时加载。
如果主题中没有JS文件,只需创建一个:
1.创建文件,即。 scripts.js中
2.将它放在themefolder / js /
中3.将此添加到主题functions.php(位于主题根文件夹中)
function theme_scripts() {
wp_enqueue_script( 'theme-js', get_theme_file_uri( '/js/scripts.js' ), array( 'jquery' ), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'theme_scripts' );
答案 1 :(得分:0)
如果您使用允许添加自定义代码的主题,请使用这些选项。
如果没有,您只需在侧栏上使用html块并在那里添加脚本即可。
转到http://Your-site.com/wp-admin/widgets.php并将简单的HTML小部件添加到侧边栏,然后在其中添加js并保存。确保您的侧边栏在每个页面上都可见。或者只是将小部件放在不同的位置,这在每个页面上都可见。