有没有办法在wordpress帖子内容中获取ID?举个例子,我在post_content()中有这个结构:
get_header()
<div class="main-content">
<section id="jumbotron">
<div class="container">
<!-- SOME CONTENT !-->
</div>
</section>
<section id="about">
<div class="container">
<!-- SOME CONTENT !-->
</div>
</section>
<section id="projects">
<div class="container">
<!-- SOME CONTENT !-->
</div>
</section>
<section id="contacts">
<div class="container">
<!-- SOME CONTENT !-->
</div>
</section>
</div>
get_footer()
.main-content
中的所有内容都是post_content()
。我需要的是获取#jumbotron
,#about
,#projects
和#contacts
并使用foreach打印相当数量的li。
<ul>
<li><a href="#jumbotron">Jumbotron</a></li>
<li><a href="#about">Jumbotron</a></li>
<li><a href="#projects">Jumbotron</a></li>
<li><a href="#contact">Jumbotron</a></li>
</ul>
这甚至可能吗?我试图寻找一个解决方案,但无法从wordpress api中找到那样做的东西。
答案 0 :(得分:0)
我一定会用jQuery来做。有多种解决方案可供选择:
$('.main-content').children()
或
$('.main-content > *')
答案 1 :(得分:0)
毕竟我用jQuery做了这个。代码在我的自定义脚本JS文件中,我在我的php模板文件中创建了一个容器#uList。
var IDs = $(".main-content section[id]")
.map(function() { return this.id; })
.get();
$listSelector = $("#uList")
$.each(IDs, function(i, obj) {
$listSelector.append("<li><a href=#"+obj+">"+obj+"</a></li>")
});
答案 2 :(得分:0)
只需将适当的元素收集到JQuery对象中,然后遍历该对象并构建所需的输出:
self
&#13;
let results = "<ul>";
$(".main-content > section[id]").each((i,el)=>{
results += "<li><a href='#" + el.id + "'>" + el.id + "</a></li>";
});
$(document.body).append(results + "</ul>");
&#13;