我正在使用WordPress插件加载单个帖子而不刷新页面,您可以在此处找到它:https://wordpress.org/plugins/read-more-without-refresh/
当我使用它的短代码时,插件工作得非常好,它完全符合我的需要但是这里有问题,我喜欢在我的所有帖子上使用它,这意味着我必须编辑1000帖子。因为我有一些我需要应用的规则,并且开放和关闭短代码元素之间存在一些内容,所以使用" do_shortcode"
这是短代码:[阅读更多="点击此处阅读更多" less ="阅读更少"] 我的隐藏段落 [/ read]
这就是我想要它做的事情:我需要插件在所有帖子上应用短代码,在前150个单词之后,如果帖子少于150个单词,它应该什么都不做。
无论如何我能做到吗?使用php代码或现有的短代码
答案 0 :(得分:0)
你可以使用the_content过滤器,但我还没有测试它是否会呈现短代码。
function my_the_content_filter( $content ) {
if ( is_single() ) {
$word_count = str_word_count( strip_tags( $content ), 2 );
if( count( $word_count ) >= 150 ) {
$word = array_slice( $word_count, 150, 1, true );
$word_pos = key( $word );
$content = substr_replace( $content, '[read more="Click here to Read More" less="Read Less"]', $word_pos, 0 );
$content .= '[/read]';
}
}
return $content;
}
add_filter( 'the_content', 'my_the_content_filter' );