在帖子开始时删除帖子特定内容

时间:2017-09-22 作者:JS7319

我有数百篇文章以“post”开头,然后是连字符-

其中一些帖子之前还有其他一些不重要的文本,通常是帖子摘要。连字符后面是我想保留的帖子的正文。

我的目标是找到一个解决方案(理想情况下)自动在帖子的开头找到“Post”,然后删除所有文本/之前的所有内容,包括带有连字符的单词Post。因此,剩下的将是主要职位。

我不知道如何处理这个问题(对于WP开发来说是非常新的)。

2 个回复
SO网友:CK MacLeod

请注意,此过滤器函数已添加到主题函数中。php文件,将应用于所有在任何地方使用“the\\u content”的输出(本质上是所有帖子),因此请练习或考虑缩小范围。

例如,您可能希望将其限制在前100个字符,或限制在某个日期之前的帖子,或限制在某个日期之前的某个类别内,等等,否则有一天可能会有人碰巧使用相同的字符序列,并震惊地发现,他们之前的所有内容都被删除了。

/**
 * Filter all posts to remove \'Post - \' 
 * and all characters preceding it 
 * from all posts
**/
add_filter( \'the_content\', \'get_rid_of_text_to_post_dash\' );

function get_rid_of_text_to_post_dash( $content ) {         

    $key_string = \'Post - \';
    $new_content = ( strpos( $content, $key_string ) ) ? 
        substr( $content, strpos( $content, $key_string) + 7 ) : 
        $content;

    return $new_content;

}

SO网友:SEO DEVS

要使用额外的过滤器保存,最好完全删除文本。为此,请在phpmyadmin中打开网站数据库,然后选择all并下载。一旦在本地计算机上,在记事本中打开并按ctrl+h组合键,就可以查找和替换所有不需要的文本。完成保存后,返回phpmyadmin导入已编辑的。sql数据库文件。在导入之前,您需要删除数据库中的表,因此请确保下载数据库的另一个副本作为备份。

希望这有帮助

结束

相关推荐

Ignore latest two posts

我试图从一个页面中排除最近的两篇博客文章。我知道这是可能的offset 然而,这样做会导致一个bug,其中一些博客帖子会在第二页上重复,因此并不理想。目前,我正在使用post id手动执行此操作,如下所示:$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : \'1\'; $args = array( \'posts_per_page\' => 5, \'post__not