我们在wordpress网站发文章的时候,如果复制外部图片,包含链接,点击就跳转到外部图片了,不利于用户体验。
如果一个个图片去删除外链,就会非常繁琐。
可以通过代码批量删除
代码如下:
// 确保这段代码在WordPress环境中运行
defined('ABSPATH') or die('No script kiddies please!');
// 获取所有文章
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'post',
'post_status' => 'any'
));
// 遍历文章
foreach ($posts as $post) {
// 设置全局变量 $post 为当前文章
setup_postdata($post);
// 获取文章内容
$content = get_the_content();
// 使用正则表达式查找并替换所有图片链接
$content = preg_replace('/<a .*?href="([^"]*\.(png|jpg|jpeg|gif|bmp))".*?<\/a>/i', '<img src="$1" alt="" />', $content);
// 更新文章内容
$updated = wp_update_post(array(
'ID' => $post->ID,
'post_content' => $content
));
// 输出结果
if($updated) {
echo "文章 {$post->ID} 已更新。\n";
} else {
echo "文章 {$post->ID} 更新失败。\n";
}
}
// 清除当前文章
wp_reset_postdata();
可以复制到wordpress主题函数 function.php中,运行一次
就可以自动删除图片中的外链,非常方便。
发表回复