如何删除wordpress中未使用的图片?

14ifxucb  于 2023-06-29  发布在  WordPress
关注(0)|答案(4)|浏览(314)

我导入CSV导入产品使用WP所有导入插件.有时导入失败,导入的产品的所有图像,因为产品没有正确importred和图像仍然在媒体中,我想从WordPress库的媒体中删除unattatched或未使用的图像。我该怎么做?
我想删除所有未附加的图像在一次我尝试使用媒体unattatced文件,但图像超过50万,我想删除他们都在一次点击

z3yyvxxp

z3yyvxxp1#

没有快速的方法,也许是一个插件,但我不能保证100%的结果。
根据WordPress,您可以删除标记为“未附加”的图像,这是通过以下方式完成的:

进入 Jmeter 板->媒体
下一步,点击下拉菜单“所有媒体项目”,选择“未附加”。

但是,由于以下原因,您不能100%依赖此系统:
1.通过媒体库的图像编辑器编辑的图像通常会变为未附加的图像,并且显示为未附加的图像,即使它们已经在使用中。
1.通过媒体->新增上传的图片,即使随后插入到帖子中,也始终显示为未附加。
1.如果原始帖子被删除,即使图像仍然出现在另一个帖子中,插入到帖子中的图像也会被插入到其他地方,将显示为未附加。
删除所有图像的最快方法是通过FTP访问或通过托管提供商 Jmeter 板进行文件管理。
在那里,你会找到你的上传文件夹,看起来像:/wp-content/uploads/2023/06
您将找到每个子文件夹(在本例中为子文件夹/06)下的所有图像文件,沿着多个重新生成的图像文件。
你必须记住,图像链接将被打破,如果你使用你的网站上的图像。没有办法恢复此更改,除非您进行适当的备份。

nfeuvbwi

nfeuvbwi2#

我只知道一个插件,可以删除所有的图像在一次是未附加的。
下载:https://wordpress.org/plugins/media-hygiene/
更多信息:https://mediahygiene.com

ih99xse1

ih99xse13#

要立即删除WordPress媒体库中所有未附加或未使用的图像,您可以使用一个名为“Media Cleaner”的插件。该插件可以扫描您的媒体库并识别哪些文件未附加到任何帖子或页面。以下是您可以使用它的方法:
1.从WordPress插件库安装并激活“Media Cleaner”插件。
1.激活后,转到WordPress Jmeter 板中的“媒体”部分,然后单击“媒体清洁器”。
1.该插件将开始扫描您的媒体库中的未附加文件。根据您拥有的图像数量,此过程可能需要一些时间。
1.扫描完成后,插件将显示未附加文件的列表。
1.查看列表以确保只删除要删除的图像。请小心,因为此操作是不可逆的。
1.点击“清除”按钮删除所有未附加的文件。
1.该插件将从您的媒体库中删除选定的文件。
请注意,一次删除大量图像可能会给服务器带来很大的负载,并且可能需要一些时间才能完成。建议在执行此类操作之前备份媒体库,以确保在出现任何问题时拥有映像的副本。
此外,在对媒体库进行任何更改或使用第三方插件进行维护任务之前,请确保您有WordPress网站的备份。

tpgth1q7

tpgth1q74#

如果你想一次从WordPress媒体库中删除所有未附加或未使用的图像,你可以使用插件或编写自定义代码来实现这一点。这里有两种方法可以尝试:
1.**使用插件:**一个可以帮助您删除未附加图像的流行插件是“Media Cleaner”。您可以从WordPress插件存储库安装并激活该插件。激活后,转到插件设置页面(在WordPress管理菜单中的“媒体”下)并配置插件以扫描未附加的文件。它将列出所有未附加的图像,并提供批量删除它们的选项。
1.**编写自定义代码:**如果您喜欢自定义解决方案,可以使用代码片段来删除未附加的图像。下面是一个示例,说明如何做到这一点:

function delete_unattached_images() {
    $args = array(
        'post_type'      => 'attachment',
        'posts_per_page' => -1,
        'post_status'    => 'inherit',
        'fields'         => 'ids',
        'meta_query'     => array(
            array(
                'key'     => '_wp_attachment_context',
                'compare' => 'NOT EXISTS',
            ),
        ),
    );

    $unattached_images = new WP_Query($args);

    if ($unattached_images->have_posts()) {
        foreach ($unattached_images->posts as $attachment_id) {
            wp_delete_attachment($attachment_id, true);
        }
    }
}

// Hook the function to an action or trigger it manually
add_action('init', 'delete_unattached_images');

您可以将上面的代码片段添加到主题的functions.php文件或创建自定义插件。delete_unattached_images()函数使用WP_Query检索所有未附加的图像(没有_wp_attachment_context meta密钥的附件),然后使用wp_delete_attachment()删除它们。
请注意,此代码片段将永久删除未附加的图像。在生产站点上运行媒体库之前,请确保备份媒体库或在登台环境中测试媒体库。
在对媒体库进行任何重大更改之前,请务必谨慎操作并创建备份。

相关问题