自动生成目录

时间:2016-07-21 作者:JD Angerhofer

我试图在我的每一篇文章的顶部生成一个目录,并希望尽量减少对作者的要求。理想情况下,作者将只输入标题标记的不同级别以及锚定链接——例如。<h1 id="introduction>Introduction</h1> -- WP函数将获取所有标题标签的文本内容和链接以生成表。

虽然用JS在浏览器中做这件事相对简单,但这让我觉得有点不对劲,而且会损害SEO。有没有一种好的方法可以在服务器端执行此操作?

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

当然在您的single.php 或者在你循环浏览帖子的地方,从获取内容开始:

$content = get_the_content();
然后使用一个regex,将目标放在<h2> 标签:

$regex = \'/<h2>(.*?)\\<\\/h2>/u\';
然后使用preg_match_all() 要查找所有标题:

preg_match_all($regex, $content, $table_of_content);
这将创建多维数组,请参见:

print_r($table_of_content);
因此,您将标题存储在$table_of_content[0].

使用此数组和regex的变体来获取idor 我将使用的数据属性,您已设置为使用。

相关推荐

如何在Functions.php中链接style.css

我是WordPress的新手;我刚开始学习WordPress。我想把风格联系起来。函数中的css。php,但我无法解决这里可能存在的问题。谁能给我指出正确的方向吗?指数php<?php get_header(); ?> <?php if ( have_posts() ) { while ( have_posts() ) { the_post();