如何创建指向页面内每个H2的页面导航链接?

时间:2019-03-04 作者:joshnh

我要求我正在开发的WordPress站点上的每个页面都有链接到页面上每个H2的页面级导航。如何最好地实现自动化?

1 个回复
最合适的回答,由SO网友:Qaisar Feroz 整理而成

这可能会给您一个开始,您将能够根据自己的需求调整代码。

添加列表ul 页面级导航显示的位置。

<ul class=\'page-nav\'></ul>
接下来,使用这个JS(需要JQuery)创建导航。此代码假定<h2> 元素没有id 属性集。

var idx = 0;

$(\'h2\').each(function() {
    // Get text of h2
    var text = $(this).text();

    // Add id attribute if not set
     $(this).attr(\'id\', \'heading\' + idx);

    // Create list item and append to list        
    $(\'<li/>\')
        .append($(\'<a />\', {text: text, href:\'#heading\' + idx }))
        .appendTo(\'.page-nav\');

    idx++;

});

I have created a working demo here

如何最好地实现自动化?

你可以为它创建一个短代码或使用你的主题文件,也可以用来创建一个插件,这取决于你的用例。

我希望这有帮助。

编辑:代码中添加了缺少的类选择器。