Cleanup uploads klasörü, Media Library db yapısı


10

Blogger.com'da başlayan, daha sonra kendi kendine barındırılan WordPress 2.1, 2.3 ve şimdi 3.0'a taşınan eski bir blogun yükseltme ve temizliğini yapıyorum. Yayınlardaki görüntüler etrafa dağılmıştır: çoğu içeride /wp-content/, fakat hepsi /wp-content/uploads/veya içinde değil /wp-content/uploads/year/month/. Diğerleri hala blogger.com resim sunucularına başvuruyor. Hepsini birleştirmek istiyorum /wp-content/uploads/year/month/, bence "doğru" yer mi? Bu daha sonraki yükseltmeleri kolaylaştırmalıdır.

Bunu yapmanın en iyi yolu nedir? Medya Kitaplığı'nın tümünü yönetebilmesi için meta verileri de güncellemek istiyorum. Bu konuda herhangi bir belge bulamadım, eğer özlediğim için üzgünüm, lütfen bana yönlendirin.

Tabii ki, eski konumlardan yenisine yönlendirmeler yapardım. Bunu yapmanın en iyi yolu nedir? Bir 404.phpeklenti şablonu mu? Birkaç günlük kaydı eklemek istiyorum, böylece yönlendiren sayfaları bulabilir ve belki onları düzeltebiliriz.

(Bu soru başlangıçta WordPress destek forumlarında sorulmuştur , ancak orada yararlı bir cevap yoktur).


işi yapan bir eklenti mi arıyorsunuz?
hakre

Jan? Sorununuzla ilgili herhangi bir geri bildiriminiz var mı? Hiçbir cevap sizi memnun etmiyor mu? Hiç yorum yok mu?
hakre

Bir tür medya toplu düzenleyicisinin yararlı olacağını kabul ediyorum. Farklı klasörlerden medya almanızı ve bazı kurallara göre hızlı bir şekilde hareket ettirmenizi sağlayan bir şey. Aslında bunun üzerinde çalışabilirim.
noio

Yanıtlar:


7

W3-Total Cache, tüm yayınlarınızı tarayacak ve harici görüntüleri medya kütüphanesine aktaracak ve yolları yeni konuma değiştirecek bir özelliğe sahiptir.

Ekran görüntüsüne bakın

alternatif metin


2

Doğru yer söyleyeceğim geçerli ayardır. Şimdi bir yükleme klasörü (yıl / ay alt klasörleri yerine) kullanıyorsanız, bu klasörle devam edin (çok dolu olabilir, ancak sıralaması daha kolay olabilir). -Veritabanındaki yollar normalde işi yapmalıdır.

Her şey bir klasörde (ve sıralandıktan) sonra, klasör tasarımını tekrar değiştirebilir ve veritabanından tarihi okuyan bir PHP komut dosyasıyla dosyaları doğru dizine taşıyabilirsiniz. Aynı komut dosyasının URL yollarını da yeniden benimsemesi gerekir.

Bu mike'ın önerdiği senaryo gibi bir şey.

Şu anda, WP kullanıcı arayüzü dosyaları manuel olarak taşımayı veya yeniden adlandırmayı desteklememektedir, bu nedenle kendi kodunuza bağlısınız. Zaten bir parti için mantıklı olurdu.

Mevcut ve İlgili Eklentiler

  • Sunucudan Ekle (Wordpress Eklentisi) - "Sunucudan Ekle", Web Sunucuları dosya sisteminden medya ve dosyaları WordPress yükleme yöneticisine aktarmanızı sağlayan hızlı bir eklentidir

1

@Jan Fabry: Muhtemelen her vakayı ayrı ayrı ele almanız gerekecektir, yani Blogger tarafından barındırılan resimler ve wp içeriği dışındaki olanlar vb.

İşte Blogger'dan içe aktarmak için bir eklenti; bir süredir güncellenmedi, ancak yine de çalışabilir veya en azından kullanabileceğiniz bir kodu olabilir:

Yine de çalışabilecek veya çalışmayabilecek daha eski bir eklenti var:

Bunun ötesinde, dosyalarınızı tarayan ve gömülü resim URL'lerini arayan gönderilerinizi tarayan, kesişen bir liste geliştiren ve daha sonra dosyaları taşıyarak gönderideki referansı güncelleyen bir PHP betiği yazmanız gerektiğini düşünüyorum. Ya da belki şanslı olacaksınız ve bu eklenti yine de çalışacak ve sizin için yapacak!

İyi şanslar.


0

Belki (ve bu sadece gelecekteki okuyucular için - eski bir Q) tüm 'post_type' => 'eki' listeleyebilir ve oradan ayrılmaya başlayabilirsiniz. Mesajları almak ve farklı konumları bir dizide kaydetmek demek. Ardından, görüntülerinizin bulunduğu yere genel bir bakış için bunu sıralayın ...


1
@kaiser: Bu eski bir soru olabilir, ama hala bunun bazı bölümleri üzerinde çalışıyorum, bu yüzden tüm önerilerinizi bekliyoruz! Nihayetinde cevap verdiğimi bir cevap olarak yazmayı umuyorum.
Jan Fabry

@Jan: Sanırım tüm 'post_type' => 'eki' çağırır ve sonra konumu çağırır (bu, query_vars içinde bir yerde saklanırsa) ve önceden tanımlanmış (ilk boş) dizide yoksa Orada. Sonuç ile sadece farklı konumlar döndürmek için array_intersect veya benzeri bir şey denemek istiyorsunuz. Bu sadece bazı ilk ve hızlı şeyler / kaba şeyler nerede yayıldığını bulmak için. Şimdiye kadar sonuç veya yönlendirme ile ne yapacağım hakkında hiçbir fikrim yok ...
kaiser

... Sanırım farklı eklerin konumlarını getirip sonra onları taşımak ve db içindeki konumu güncellemek mümkün. Yönlendirmeleri fazla önemsemem. Db bunu bildiğinde ve post eklerinin endekslenmesini kimin umurunda olduğunu, post bilir. Hiç kimsenin resimlerinizi (veya ek şablonlarınızı) doğrudan / etkin bir şekilde bağlamasını ve bunun yerine içeren gönderiye bağlanmamasını tercih edersiniz. Şahsen bir ek şablonu hiç kullanmadım veya bir gönderinin içindeki bir eke (ışık kutuları ve benzeri) bir bağlantı bile ayarlamamıştım.
Kaiser

@kaiser: Şu anda ilk olarak yeniden yönlendirmeler oluşturdum ve tüm "kayıp" görüntüleri /wp-content/uploads/moved/dizinin altına taşıdım . Bu şekilde tüm yayınlar, hatta eski konumlara gönderme yapanlar bile çalışmaya devam edecek ve diğer dizinlerim açık olacak (bu benim için en büyük sorundu: WordPress'e ait olan ve olmayanlar) çok net değildi. Şimdi mevcut ekleri güncelliyor ve henüz ek olarak eklenmemiş resimler ekliyorum.
Jan Fabry

@Jan: "Şimdi mevcut ekleri güncelliyor ve henüz ek olarak eklenmemiş resimler ekliyorum." Her el için mi? Tam olarak bilmiyorum, ama arama motorları yeni konumu bilmediği sürece sadece yönlendirmeleri gerekir sanırım. Gerisi db girişlerine dayanmalıdır. Yanlış?
Kaiser
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.