wordpress在每个帖子上运行javascript代码

时间:2017-01-05 07:51:34

标签: javascript wordpress

我正在开发一个网站,我创建了一个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;
&#13;
&#13;

目前我在每个希望它出现的帖子页面上调用create_navigation函数。

这也是正确的做法吗?我对Wordpress缺乏经验,并有时间更好地动态创建侧面菜单。

2 个答案:

答案 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并保存。确保您的侧边栏在每个页面上都可见。或者只是将小部件放在不同的位置,这在每个页面上都可见。