Wie man Bilder verschiebt

Ich muss alle Bilder, die an Beiträge einer bestimmten Kategorie (MyCat) angehängt sind, von ihrem aktuellen Standardstandort (/ uploads / year / month /) in einen bestimmten Kategorieordner (/ uploads / mycat /) verschieben.

Zum Beispiel:

/uploads/2015/06/mycat-post1-image1.jpg /uploads/2015/06/mycat-post1-image2.jpg /uploads/2015/07/mycat-post2-image3.jpg /uploads/2015/08/mycat-post3-image4.jpg 

… und viel mehr mycat Bilder …

ziehen nach…

 /uploads/mycat/image1.jpg /uploads/mycat/image2.jpg /uploads/mycat/image3.jpg /uploads/mycat/image4.jpg 

(nicht notwendig umbenennen, nur zur Veranschaulichung).

Ich muss die Bilder physisch von den Quellordnern zum Ziel verschieben und muss auch die Verbindungen in der database ändern. Aber wie geht das?

Solutions Collecting From Web of "Wie man Bilder verschiebt"

Ich musste ein externes Programm programmieren, ich kann keinen anderen Weg sehen. Ich habe Java JDBC in meinem Fall verwendet.

Abfrage:

 SELECT p.post_title, m.meta_value FROM wp_term_taxonomy tt INNER JOIN wp_term_relationships tr on tt.term_taxonomy_id = tr.term_taxonomy_id inner join wp_posts p on p.ID = tr.object_id inner join wp_posts p2 on p.ID = p2.post_parent inner join wp_postmeta m on p2.ID = m.post_id where tt.term_id = 795 and p.post_status = 'publish' and p.post_type = 'post' and p2.post_type='attachment' and p2.post_status = 'inherit' and m.meta_key = '_wp_attached_file' 

Aber konnte nicht zu einem bestimmten Mycat kopieren, erkennt WordPress benutzerdefinierte Ordnerstruktur für Medien nicht.

Dann, da alle Bilder im aktuellen Jahr / Monat sind, habe ich:

 UPDATE wp_posts p SET p.post_content = REPLACE(p.post_content, 'http://miwp.local/wp-content/uploads/2014/02/', 'http://miwp.local/wp-content/uploads/2016/04/'), p.post_content = REPLACE(p.post_content, 'http://miwp.local/wp-content/uploads/2014/03/', 'http://miwp.local/wp-content/uploads/2016/04/'), p.post_content = REPLACE(p.post_content, 'http://miwp.local/wp-content/uploads/2014/04/', 'http://miwp.local/wp-content/uploads/2016/04/'), p.post_content = REPLACE(p.post_content, 'http://miwp.local/wp-content/uploads/2014/05/', 'http://miwp.local/wp-content/uploads/2016/04/'), p.post_content = REPLACE(p.post_content, 'http://miwp.local/wp-content/uploads/2014/06/', 'http://miwp.local/wp-content/uploads/2016/04/'), p.post_content = REPLACE(p.post_content, 'http://miwp.local/wp-content/uploads/2014/07/', 'http://miwp.local/wp-content/uploads/2016/04/'), p.post_content = REPLACE(p.post_content, 'http://miwp.local/wp-content/uploads/2014/08/', 'http://miwp.local/wp-content/uploads/2016/04/'), p.post_content = REPLACE(p.post_content, 'http://miwp.local/wp-content/uploads/2014/09/', 'http://miwp.local/wp-content/uploads/2016/04/') WHERE p.post_name LIKE 'mycat-%'; 

post_name wird mit ‘mycat-‘ vorangestellt.