WordPress批量删除失效链接图片,删除指定外链图片

WordPress批量删除失效链接图片,删除指定外链图片的方法有多种,以下是两种方法:

使用WordPress插件

更安全、更用户友好的方法是使用WordPress插件来批量替换或删除外链图片。

VelvetBlues Update URLs:允许您批量替换文章和页面内容中的URL。

Search and Replace在数据库中搜索和替换文本,包括URL。

Broken Link Checker:可以自动去检查你网站中几乎所有地方的链接是否失效,包括站内或站外链接,还支持手动修改或删除失效的链接。不过文章内容比较大的情况下,非常耗时间。

    使用PHP脚本

    编写一个PHP脚本来遍历所有发布的内容(文章和页面),并删除指向特定域名的图片标签。

    在根目录下创建一个新的PHP文件,例如remove_external_images.php 。

    编写脚本,在remove_external_images.php 文件中,输入以下PHP代码:

    <?php
    // 引入WordPress的核心文件,确保可以访问WordPress的函数和变量
    require_once('wp-load.php');

    // 设置脚本执行的时间限制为无限制,以防处理大量数据时超时
    set_time_limit(0);

    // 全局声明 $wpdb 对象,它是WordPress用于数据库操作的类
    global $wpdb;

    // 设置每次查询的文章数量(批次大小)
    $batch_size = 100;

    // 设置查询的起始位置(偏移量),用于分页查询
    $offset = 0;

    // 记录已更新的文章数量
    $updated_count = 0;

    // 使用do-while循环来分页查询所有已发布的文章和页面
    do {
    // 准备SQL查询语句,使用$wpdb->prepare来防止SQL注入
    // 查询语句获取指定类型的已发布文章和页面的ID和文章内容
    $query = $wpdb->prepare("SELECT ID, post_content FROM wp_posts WHERE post_type IN ('post', 'page') AND post_status = 'publish' LIMIT %d OFFSET %d", $batch_size, $offset);

    // 执行查询并获取结果
    $posts = $wpdb->get_results($query);

    // 遍历查询结果中的每篇文章
    foreach ($posts as $post) {
    // 获取文章的内容
    $content = $post->post_content;

    // 定义正则表达式模式,用于匹配指向特定域名的图片标签
    $pattern = '/<img[^>]+src=["\']https://picture.domain.com/[^"\']*/i';

    // 使用preg_replace函数删除匹配的图片标签
    $new_content = preg_replace($pattern, '', $content);

    // 如果文章内容有变化(即删除了图片标签)
    if ($new_content !== $content) {
    // 更新文章内容
    $wpdb->update(
    $wpdb->posts, // 指定要更新的表
    [
    'post_content' => $new_content // 更新后的内容
    ],
    ['ID' => $post->ID] // 更新条件,根据文章ID更新
    );

    // 增加已更新的文章计数器
    $updated_count++;
    }
    }

    // 增加偏移量,以便下一次查询下一批文章
    $offset += $batch_size;

    // 暂停执行一段时间(100,000微秒=0.1秒),以减少对服务器资源的消耗
    usleep(100000);
    } while (!empty($posts));

    // 输出已更新的文章数量
    echo '已更新 ' . $updated_count . ' 篇文章,移除了图片。';

    运行PHP脚本如果

    您可以通过SSH连接到您的服务器,您可以使用命令行来运行这个脚本:

    php /path/to/your/wordpress/remove_external_images.php 。

      以上就是在WordPress中批量删除失效链接图片的两种方法,希望对你有所帮助。

      声明:本站资源绿色无后门无广告,可放心下载。如无特殊说明或标注,均为本站原创发布,转载请注明出处!