加载更多而无需刷新页面[Wordpress]

时间:2017-10-11 14:29:02

标签: php wordpress plugins shortcode

我正在使用WordPress插件加载单个帖子而不刷新页面,您可以在此处找到它:https://wordpress.org/plugins/read-more-without-refresh/

当我使用它的短代码时,插件工作得非常好,它完全符合我的需要但是这里有问题,我喜欢在我的所有帖子上使用它,这意味着我必须编辑1000帖子。因为我有一些我需要应用的规则,并且开放关闭短代码元素之间存在一些内容,所以使用" do_shortcode"

这是短代码:[阅读更多="点击此处阅读更多" less ="阅读更少"] 我的隐藏段落 [/ read]

这就是我想要它做的事情:我需要插件在所有帖子上应用短代码,在前150个单词之后,如果帖子少于150个单词,它应该什么都不做。

无论如何我能做到吗?使用php代码或现有的短代码

1 个答案:

答案 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' );