Membersihkan folder unggahan, struktur Media Library db


10

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).


apakah Anda mencari plugin yang berfungsi?
hakre

Jan? Ada tanggapan tentang masalah Anda? Apakah tidak ada jawaban yang menyenangkan Anda? Tidak ada komentar bermanfaat?
hakre

Saya setuju bahwa beberapa jenis media-editor akan bermanfaat. Sesuatu yang memungkinkan Anda mengimpor media dari folder yang berbeda dan dengan cepat memindahkannya sesuai dengan beberapa aturan. Sebenarnya saya mungkin mengerjakan ini.
noio

Jawaban:


7

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 Screenshot

teks alternatif


2

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

  • Add From Server (Wordpress Plugin) - "Add From Server" adalah plugin cepat yang memungkinkan Anda untuk mengimpor media & file ke pengelola unggahan WordPress dari sistem file Webservers

1

@ 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.


0

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 ...


1
@kaiser: Ini mungkin pertanyaan lama, tapi saya masih mengerjakan bagiannya, jadi semua saran dipersilahkan! Saya berharap untuk menuliskan apa yang akhirnya saya dapatkan sebagai jawaban.
Jan Fabry

@ Jan: Saya kira saya akan memanggil semua 'post_type' => 'lampiran' dan kemudian memanggil lokasi (jika ini disimpan di suatu tempat di query_vars) dan jika tidak ada di beberapa array (pertama kosong) yang telah ditentukan, dorong ke dalam sana. Dengan hasilnya saya akan mencoba sesuatu dengan array_intersect atau mirip dengan hanya mengembalikan lokasi yang berbeda. Itu hanya beberapa pemikiran pertama dan cepat / kasar tentang bagaimana mencari tahu di mana barang-barang itu menyebar. Sejauh ini saya tidak tahu apa yang akan saya lakukan dengan hasil atau redirect ...
kaiser

... Saya kira dimungkinkan untuk mengambil lokasi lampiran yang berbeda dan kemudian memindahkannya dan memperbarui lokasi di db. Saya tidak akan terlalu peduli dengan pengalihan. Pos tahu, kapan db mengetahuinya dan siapa yang benar-benar peduli tentang pengindeksan lampiran-pos. Anda lebih suka bahwa tidak ada yang secara langsung / panas menautkan gambar Anda (atau templat lampiran) dan sebaliknya menautkan ke posting yang berisi. Saya pribadi tidak pernah menggunakan templat lampiran atau bahkan mengatur tautan (selain dari lightbox dan sejenisnya) ke lampiran di dalam kiriman.
kaiser

@kaiser: Saat ini saya pertama kali membuat arahan ulang dan memindahkan semua gambar "hilang" di bawah /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.
Jan Fabry

@ Jan: "Sekarang saya memperbarui lampiran yang ada dan menambahkan gambar yang belum ditambahkan sebagai lampiran." Per tangan - sedikit demi sedikit? Saya tidak tahu persis, tetapi saya kira Anda hanya perlu pengalihan selama mesin pencari tidak tahu lokasi baru. Selebihnya harus bergantung pada entri db. Salah?
kaiser
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.