批量查找替换WordPress文章内容的三种方法

admin
admin
admin
343
文章
75
评论
2021年11月26日11:57:21
评论
244

我们WordPress文章中有文字或者代码需要进行批量替换、删除的,如果一个个的进行手动修改会比较慢,也比较繁琐,这里品自行提供三种批量查找替换wordpress文章内容的方法供大家参考。

下面三种方法执行之前都请大家务必要备份好自己的WordPress程序。

方法一、登录数据库,执行sql语句进行替换

用到update语句进行更新wp_posts表里面的文章内容字段post_content

这段代码是删除“旧内容”
UPDATE wp_posts     SET post_content = REPLACE( post_content, '旧内容', '' );
这段代码是用“新内容”替换“旧内容”
UPDATE wp_posts SET post_content = REPLACE( post_content, '旧内容文字', '新内容文字' );

方法二、修改function.php文件

function.php是wordpress主题目录下的文件,在function.php后面加上一段代码即可,优点是不用登陆数据库。有两种代码可以达到替换的目的:

1、以下代码,用到WordPress的操作数据敞亮$wpdb,加到function.php内容之后即可;

global $wpdb;
$wpdb->query("UPDATE wp_posts SET post_content = replace( post_content, '旧内容文字', '新内容文字' )");

2、用下面的代码也可以,稍微复杂一点;

function replace_text_wps($text){
$replace = array(
'1111' => '<a href="#">111</a>',
'222' => '<a href="#">222/a>',
333' => '<a href="#">333</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');

注释:上面代码中第三、四、五行的 111,222 及 333 就是要被替换的文本;相应的<a href=”#”>111</a>,<a href=”#”>222</a> 及 <a href=”#”>333</a> 就是被替换后的文本,意思是将文字换成对应的超链接形式。最后的两条函数的意思如下,请根据需要进行修改:

add_filter(‘the_content’, ‘replace_text_wps’); 替换文章正文中的文本内容

add_filter(‘the_excerpt’, ‘replace_text_wps’); 替换文章摘要中的文本内容

方法三、用搜索替换神器插件:Search Regex

如果你不喜欢用上述两种方法,可以试试这款Search Regex插件,安装启用插件后,WP后台→工具-Search Regex,进入搜索替换页面。

search-regex搜索替换

在Enter serch phrase这里输入查找的内容,在Enter global replacement text这里输入替换的内容。点击最下面的Search进行搜索.

在Source下面可以选择我们搜索替换的范围,如果是要替换文章内容里面的字符,在Source里面选择“文章”、“页面”,如果是要替换postmeta里面的字段请选择Post Meta,还有很多特定的搜索范围,大家自己看一下就好了。

设置完了以后,点击Replace All可以直接进行替换。

总之,Search Regex插件绝对是款神器,可以替换几乎所有存储在站点上的任何数据内容,非常好用。不过可惜,插件貌似不支持PHP8,这也是现在很多主题和插件存在的问题,因此没有特殊需要暂缓升级PHP8,时机成熟再升不迟。

提醒大家注意,我们如果替换的内容比较复杂,尤其是涉及到代码的时候,不要在前端源代码中复制替换的内容,需要登录WP后台在文章编辑器中,切换到文本编辑模式进行复制需要替换的内容。

插件Search Regex下载地址:

下载信息
下载地址
admin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: