Php 更改wordpress上载默认目录结构

Php 更改wordpress上载默认目录结构,php,wordpress,Php,Wordpress,我的wordpress上载文件夹是以默认方式(年/月)构建的 我已成功更改上载目录位置 但问题是我有10000多篇文章,我正在寻找一个解决方案,这样我也可以将现有的媒体移动到新的位置 我知道这样做还需要在数据库级别更改媒体的路径 有人知道这样做的插件或脚本吗 谢谢。这里提到了两种不同的选项,大多数选项要么使用已配置的插件,要么运行SQL脚本 我在那个链接上找到的最有用的答案是更改MySQL数据库中每个wp表上的旧URL UPDATE wp_options SET option_value = r

我的wordpress上载文件夹是以默认方式(年/月)构建的

我已成功更改上载目录位置

但问题是我有10000多篇文章,我正在寻找一个解决方案,这样我也可以将现有的媒体移动到新的位置

我知道这样做还需要在数据库级别更改媒体的路径

有人知道这样做的插件或脚本吗


谢谢。

这里提到了两种不同的选项,大多数选项要么使用已配置的插件,要么运行SQL脚本

我在那个链接上找到的最有用的答案是更改MySQL数据库中每个wp表上的旧URL

UPDATE wp_options SET option_value = replace(option_value, 'Existing URL', 'New URL') 
WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET post_content = replace(post_content, 'Existing URL', 'New URL');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'Existing URL','New URL');

UPDATE wp_usermeta SET meta_value = replace(meta_value, 'Existing URL','New URL');

UPDATE wp_links SET link_url = replace(link_url, 'Existing URL','New URL');

UPDATE wp_comments SET comment_content = replace(comment_content , 'Existing 
URL','New URL');
请记住,MySQL replace命令可以替换URL字符串的一部分,而不必替换整个URL字符串。因此,在您的情况下,如果原始url是 “”您可以将URL替换为

UPDATE wp_links set link_url = replace(link_url, 'http://yourdomain.com/wp- 
content/uploads/2010/10/', 'http://yourdomain.com/wp-content/uploads/') where 
link_url like 'http://yourdomain.com/wp-content/uploads/2010/10/%'

您必须每年和每月都这样做,但是用这种方式编写脚本要比手动更新每个URL容易得多

这里提到了几个不同的选项,其中大多数要么使用已配置的插件,要么运行SQL脚本

我在那个链接上找到的最有用的答案是更改MySQL数据库中每个wp表上的旧URL

UPDATE wp_options SET option_value = replace(option_value, 'Existing URL', 'New URL') 
WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET post_content = replace(post_content, 'Existing URL', 'New URL');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'Existing URL','New URL');

UPDATE wp_usermeta SET meta_value = replace(meta_value, 'Existing URL','New URL');

UPDATE wp_links SET link_url = replace(link_url, 'Existing URL','New URL');

UPDATE wp_comments SET comment_content = replace(comment_content , 'Existing 
URL','New URL');
请记住,MySQL replace命令可以替换URL字符串的一部分,而不必替换整个URL字符串。因此,在您的情况下,如果原始url是 “”您可以将URL替换为

UPDATE wp_links set link_url = replace(link_url, 'http://yourdomain.com/wp- 
content/uploads/2010/10/', 'http://yourdomain.com/wp-content/uploads/') where 
link_url like 'http://yourdomain.com/wp-content/uploads/2010/10/%'
您必须每年和每月都这样做,但是用这种方式编写脚本要比手动更新每个URL容易得多