我们通常会在 WordPress
文章内容中手动插入一些相同的文本或者简码,因为这种方法不是固定的,很灵活。比如,不同的文章当中往往都有相同的文本(一些单词或短语),有时想将它们
替换成别的文本,但是文章数量很多,不可能逐篇修改;又比如我以前就是使用简码嵌入谷歌地图的,非常方便。但是后来我不想使用这种方法了,便把曾经放在
functions.php
中相应的功能函数撤掉了,没有想到的是,之前调用的简码仍然留在许多文章当中,让访问者看到很不雅观,如果手动逐一删除未免费时费力,怎么办呢?
这篇文章介绍两种简单的方法,只使用简单的几句代码就能够轻而易举地将众多文章中相同的文本和简码批量替换掉。
一.批量替换文章中的文本内容
将这段函数添加到主题的 functions.php 文件中:
function replace_text_wps($text){ $replace = array( // ’我是要被替换的文本’ => ’我是被替换后的文本’ ’wordpress’ => ’<a href="#">wordpress</a>’, ’excerpt’ => ’<a href="#">excerpt</a>’, ’function’ => ’<a href="#">function</a>’ ); $text = str_replace(array_keys($replace), $replace, $text); return $text; } add_filter(’the_content’, ’replace_text_wps’); add_filter(’the_excerpt’, ’replace_text_wps’);
注释:上面代码中第四、五、六行的 wordpress,excerpt 及 function 就是要被替换的文本;相应的<a
href=”#”>wordpress</a>,<a href=”#”>excerpt</a> 及
<a href=”#”>function</a>
就是被替换后的文本,很明示,它们都被替换成链接文本了。最后的两条函数的意思分别为:
1.add_filter(‘the_content’, ‘replace_text_wps’); ??>替换文章正文中的文本内容
2.add_filter(‘the_excerpt’, ‘replace_text_wps’); ??>替换文章摘要中的文本内容
Via wprecipes
二.批量删除或替换文章中的文本内容(这里以删除简码为例):
方法也许很多,但我觉得这种是最好的,那就是执行 SQL 查询语句进行批量删除,非常彻底,不过涉及WordPress 数据库重要数据表,所以事前得做好数据库的备份。
登录数据库管理中心,执行以下语句即可:
UPDATE wp_posts SET post_content = REPLACE( post_content, ’[adsense]’, ’’ );
说明:这里我要删除的是一条已经没有用的简码“[adsense]”,使用时请修改为要删除的内容。
如果我们想将 [adsense] 替换成 [related_posts] 这样的内容,可以写成这样:
UPDATE wp_posts SET post_content = REPLACE( post_content, ’[adsense]’, ’[related_posts]’ );