Saya melakukan pemutakhiran dan pembersihan dari sebuah blog lama yang dimulai di Blogger.com, kemudian pindah ke WordPress 2.1 yang di-hosting sendiri dan sekarang 3.0. Gambar di pos tersebar di sekitar: sebagian besar ada di /wp-content/
, tetapi tidak semua dalam /wp-content/uploads/
atau /wp-content/uploads/year/month/
. Yang lain masih mereferensikan server gambar blogger.com. Saya ingin menggabungkan semuanya /wp-content/uploads/year/month/
, yang saya pikir adalah tempat yang "benar"? Ini akan membuat upgrade nanti lebih mudah.
Apa cara terbaik untuk melakukan ini? Saya juga ingin memperbarui metadata, sehingga Perpustakaan Media dapat mengelola semuanya. Saya tidak dapat menemukan dokumentasi tentang ini, jadi maaf jika saya melewatkannya, tolong tunjukkan saya untuk itu.
Tentu saja, saya akan menyediakan pengalihan dari lokasi lama ke yang baru. Apa cara terbaik untuk melakukan ini? Template 404.php
, sebuah plugin? Saya ingin menambahkan beberapa pencatatan, sehingga kami dapat menemukan halaman pengarah dan mungkin memperbaikinya.
(Pertanyaan ini awalnya ditanyakan di forum dukungan WordPress , tetapi tidak mendapatkan jawaban yang berguna di sana).
sumber
Jawaban:
W3-Total Cache memiliki fitur yang akan memindai semua posting Anda dan mengimpor gambar eksternal apa pun ke perpustakaan media dan mengubah jalur ke lokasi baru.
Lihat Screenshotsumber
Tempat yang benar adalah pengaturan saat ini yang akan saya katakan. Jadi jika Anda sekarang menggunakan satu folder unggah (bukan subfolder tahun / bulan), gunakan folder itu (mungkin menjadi sangat penuh, tetapi lebih mudah untuk disortir. Jadi, cukup pindahkan semua file dari subdirektori tahun / bulan ke direktori unggahan dan ubah URL. -Paths dalam database biasanya melakukan pekerjaan.
Setelah semua berada dalam satu folder (dan diurutkan), Anda dapat mengubah desain folder lagi, dan memindahkan file ke direktori yang benar dengan skrip PHP yang membacakan tanggal dari database. Script yang sama persis perlu mengadopsi jalur URL lagi juga.
Itu seperti naskah yang persis sama yang disarankan mikrofon.
Saat ini, WP UI tidak mendukung untuk memindahkan atau mengganti nama file secara manual, jadi Anda terikat pada beberapa kode sendiri. Yang akan masuk akal untuk batch pula.
Plugin yang Ada dan Terkait
sumber
@ Jan Fabry: Anda mungkin perlu menangani setiap kasus secara terpisah, yaitu gambar yang dihosting Blogger dan yang di luar konten wp, dll.
Berikut ini plugin untuk mengimpor dari Blogger; belum diperbarui untuk sementara waktu tetapi masih dapat berfungsi atau setidaknya memiliki kode yang dapat Anda gunakan:
Ada juga plugin yang lebih lama yang mungkin atau mungkin tidak berfungsi:
Selain itu saya pikir Anda hanya perlu menulis skrip PHP yang memindai file Anda dan memindai posting Anda mencari URL gambar yang disematkan, mengembangkan daftar berpotongan dan kemudian memindahkan file dan memperbarui referensi dalam posting. Atau mungkin Anda akan beruntung dan plugin itu masih berfungsi dan melakukannya untuk Anda!
Semoga berhasil.
sumber
Mungkin (dan itu hanya untuk pembaca masa depan - ini adalah Q lama) Anda dapat mendaftar semua 'post_type' => 'lampiran' dan mulai berpisah dari sana. Maksud saya mengambil posting dan menyimpan lokasi yang berbeda dalam satu array. Kemudian atur ini untuk mendapatkan gambaran di mana gambar Anda berada ...
sumber
/wp-content/uploads/moved/
direktori. Dengan cara ini semua posting, bahkan yang mereferensikan lokasi lama, akan tetap berfungsi, dan direktori saya yang lain sudah jelas (yang merupakan masalah terbesar bagi saya: sangat tidak jelas apa yang menjadi milik WordPress dan yang tidak). Sekarang saya memperbarui lampiran yang ada dan menambahkan gambar yang belum ditambahkan sebagai lampiran.