【问题标题】:How to delete all old images from Wordpress如何从 Wordpress 中删除所有旧图像
【发布时间】:2017-07-23 19:07:46
【问题描述】:

由于图像版权问题,我想从我的 Wordpress 网站中删除 2012 年至 2015 年 7 月的所有图像。而且我还想在删除图片后保留所有文章或页面没有损坏的图片链接。如果我手动删除一张图片(所有缩略图版本),那么它会在文章的前端显示损坏的图片链接。

有什么想法吗?

【问题讨论】:

  • 我想你知道如何从 ftp 中删除媒体。现在对于损坏的图像链接,您应该执行一些代码。在负责显示帖子类型的文件php中(例如:默认,图像,视频),您可以测试文件是否存在,如果不存在,您可以默认制作照片或删除图像的 div。

标签: php wordpress


【解决方案1】:

进入 FTP,在主题中查找上传文件夹,并相应地命名文件。

uploads/date...

您可以按月顺序查看已加载到 WordPress 中的所有图像,然后深入到日文件中。

【讨论】:

    【解决方案2】:

    Wordpress 在上传中有一个文件夹结构,您可以创建一个脚本来删除这些文件夹或文件,类似这样

    function recursive_remove_directory($directory, $empty=FALSE)
    {
        if(substr($directory,-1) == '/')
        {
            $directory = substr($directory,0,-1);
        }
        if(!file_exists($directory) || !is_dir($directory))
        {
            return FALSE;
        }elseif(is_readable($directory))
        {
            $handle = opendir($directory);
            while (FALSE !== ($item = readdir($handle)))
            {
                if($item != '.' && $item != '..')
                {
                    $path = $directory.'/'.$item;
                    if(is_dir($path)) 
                    {
                        recursive_remove_directory($path);
                    }else{
                        unlink($path);
                    }
                }
            }
            closedir($handle);
            if($empty == FALSE)
            {
                if(!rmdir($directory))
                {
                    return FALSE;
                }
            }
        }
        return TRUE;
    }
    

    你用这个

    recursive_remove_directory (WP_CONTENT_DIR.'/uploads/2012');
    recursive_remove_directory (WP_CONTENT_DIR.'/uploads/2013');
    recursive_remove_directory (WP_CONTENT_DIR.'/uploads/2014');
    recursive_remove_directory (WP_CONTENT_DIR.'/uploads/2015/01');
    recursive_remove_directory (WP_CONTENT_DIR.'/uploads/2015/02');
    .....
    recursive_remove_directory (WP_CONTENT_DIR.'/uploads/2015/06');
    

    在你的functions.php文件中添加函数,然后占据WP_Query并获取2012年至2015年7月的所有帖子,删除内容的图像,如下所示:

    $content = get_the_content ();
    $content = preg_replace ("/ <img [^>] + \> / i", "", $ content);
    $content = apply_filters ('the_content', $ content);
    $content = str_replace (']>', ']]>', $ content);
    

    并占用 wp_update_post 更新内容,这将删除内容中的所有图像

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-21
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 2020-09-01
      相关资源
      最近更新 更多