有没有办法检查WordPress帖子中有多少元素如标题(h2,h3,...),段落和链接?
目前我正在使用此代码:
<?php
$content = get_the_content();
$count_h2s = explode('<h2>', $content);
$h2 = 0;
foreach ($count_h2s as $count_h2) {
$h2++;
}
echo $h2;
?>
它似乎适用于头条新闻。但如果我用它来计算<p>
- 标签我只得到1的数量。即使还有更多。我可以想象这是因为这些标签不在编辑器中,但标题是?!
也许有一种比我的代码更优雅的方式来计算元素;)
答案 0 :(得分:1)
不需要循环,使用PHP函数substr_count
$query = get_post(get_the_ID());
$content = apply_filters('the_content', $query->post_content);
$p_count = substr_count($content, '<p>');
echo $p_count ;
// Be aware, if there is a more-tag inside the post, this `<p>`-tag wouldn't count!
应该很容易将它用于其他标签,例如......
答案 1 :(得分:1)
看起来你会被过滤器wordpress用来自动将换行符转换为<p>
标签而被抛弃。换行符不在您的编辑器中,因为它们是在事后通过过滤器添加的。
https://codex.wordpress.org/Function_Reference/wpautop
因此,当您在网页的HTML源代码中看到<p>
代码时,您希望在get_the_content()
中搜索换行符,因为这些代码转换为{{ 1}}标签。