有没有办法检查一篇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>-tags,我得到的结果只有1,即使还有更多。我可以想象这是因为这些标签不在编辑器中,而标题是?!
也许有一种比我的代码更优雅的方法来计算元素数;)
发布于 2018-01-26 03:17:06
循环不是必需的,请使用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!应该很容易将其用于其他标记,例如...
发布于 2018-01-26 03:29:13
看起来你被wordpress用来自动将换行符转换成<p>标签的过滤器抛弃了。换行符不在编辑器中,因为它们是在事后通过过滤器添加的。https://codex.wordpress.org/Function_Reference/wpautop
因此,当您在页面的HTML源中看到<p>标记时,您希望在get_the_content()中搜索换行符,因为这些换行符将被转换为<p>标记。
https://stackoverflow.com/questions/48450253
复制相似问题