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

2022-11-24 17:47:05 浏览数 (2)

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

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

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

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

代码语言:javascript复制
这段代码是删除“旧内容”
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内容之后即可;

代码语言:javascript复制
global $wpdb;
$wpdb->query("UPDATE wp_posts SET post_content = replace( post_content, '旧内容文字', '新内容文字' )");

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

代码语言:javascript复制
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,进入搜索替换页面。

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

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

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

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

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

下载地址: http://www.10zhan.com/wp-content/uploads/files/search-regex.zip

收藏 | 0点赞 | 0打赏

1 人点赞