Folder przesyłania porządków, struktura db Biblioteki multimediów

10

Robię aktualizację i czyszczenie starego bloga, który zaczął się na Blogger.com, a następnie przeniosłem się na WordPress 2.1, 2.3, a teraz 3.0. Obrazy w postach są rozrzucone wokół: większość z nich jest w /wp-content/, ale nie wszystkie w /wp-content/uploads/lub /wp-content/uploads/year/month/. Inni nadal odwołują się do serwerów obrazów blogger.com. Chcę je wszystkie skonsolidować /wp-content/uploads/year/month/, co moim zdaniem jest „właściwym” miejscem? To powinno ułatwić późniejsze aktualizacje.

Jak najlepiej to zrobić? Chciałbym również zaktualizować metadane, aby Biblioteka multimediów mogła zarządzać nimi wszystkimi. Nie mogłem znaleźć żadnej dokumentacji na ten temat, więc przepraszam, jeśli przeoczyłem, proszę o wskazanie mnie.

Oczywiście zapewniłbym przekierowania ze starych lokalizacji do nowych. Jak najlepiej to zrobić? Szablon 404.phpwtyczki? Chciałbym dodać trochę rejestrowania, abyśmy mogli znaleźć strony odsyłające i być może je poprawić.

(To pytanie zostało pierwotnie zadane na forach pomocy WordPress , ale nie znalazło tam żadnej użytecznej odpowiedzi).

Jan Fabry
źródło
szukasz wtyczki, która spełnia swoje zadanie?
hakre
Jan Wszelkie opinie na temat Twojego problemu? Czy żadna odpowiedź cię nie zadowala? Brak komentarza pomocnego?
hakre
Zgadzam się, że jakiś edytor zbiorczy mediów byłby użyteczny. Coś, co pozwala importować multimedia z różnych folderów i szybko je przenosić zgodnie z pewnymi zasadami. Właściwie mógłbym nad tym popracować.
noio

Odpowiedzi:

7

W3-Total Cache posiada funkcję, która skanuje wszystkie twoje posty i importuje wszelkie obrazy zewnętrzne do biblioteki multimediów i zmienia ścieżki do nowej lokalizacji.

Zobacz zrzut ekranu

alternatywny tekst

Chris_O
źródło
2

Prawidłowe miejsce to obecne ustawienie, powiedziałbym. Więc jeśli teraz używasz jednego folderu przesyłania (zamiast podfolderów lat / miesięcy), przejdź do tego (może być bardzo pełny, ale łatwiejszy do sortowania. Po prostu przenieś wszystkie pliki z podkatalogów roku / miesiąca do katalogu przesyłania i zmień adres URL - Ścieżki w bazie danych powinny normalnie wykonywać zadanie.

Po tym, jak wszystko jest w jednym folderze (i posortowane), możesz ponownie zmienić projekt folderu i przenieść pliki do odpowiedniego katalogu za pomocą skryptu PHP, który odczytuje datę z bazy danych. Ten sam skrypt musi również ponownie przyjąć ścieżki URL.

To jest dokładnie taki sam skrypt, jaki sugerował Mike.

W tej chwili interfejs użytkownika WP nie obsługuje ręcznego przenoszenia ani zmiany nazw plików, więc jesteś związany z własnym kodem. Co i tak miałoby sens dla partii.

Istniejące i powiązane wtyczki

  • Add From Server (Wordpress Plugin) - „Add From Server” to szybka wtyczka, która pozwala importować pliki multimedialne i pliki do menedżera przesyłania WordPress z systemu plików Webservers
hakre
źródło
1

@Jan Fabry: Prawdopodobnie będziesz musiał rozwiązać każdą sprawę osobno, tj. Obrazy hostowane w Bloggerze i te poza wp-contentem itp.

Oto wtyczka do importowania z Bloggera; od jakiegoś czasu nie był aktualizowany, ale może nadal działać lub przynajmniej mieć kod, którego możesz użyć:

Istnieje również starsza wtyczka, która może nadal działać lub nie:

Poza tym myślę, że po prostu musisz napisać skrypt PHP, który skanuje pliki i skanuje posty w poszukiwaniu adresów URL osadzonych obrazów, tworzy listę przecinającą się, a następnie przenosi pliki i aktualizuje referencję w poście. A może będziesz miał szczęście i ta wtyczka nadal będzie działać i zrobić to za Ciebie!

Powodzenia.

MikeSchinkel
źródło
0

Może (i to tylko dla przyszłych czytelników - to stare Q) możesz wypisać wszystkie „post_type” => „załącznik” i zacząć się od tego rozdzielać. Mam na myśli pobieranie postów i zapisywanie różnych lokalizacji w jednej tablicy. Następnie uporządkuj to, aby uzyskać przegląd miejsc, w których leżą twoje zdjęcia ...

kajzer
źródło
1
@kaiser: To może być stare pytanie, ale wciąż pracuję nad jego częścią, więc wszystkie sugestie są mile widziane! Mam nadzieję, że wkrótce zapiszę to, co skończyłem.
Jan Fabry
@Jan: Wydaje mi się, że nazwałbym wszystkie „post_type” => „załącznik”, a następnie wywołałbym lokalizację (jeśli jest ona przechowywana gdzieś w kwerendach_docelowych) i jeśli nie istnieje ona w jakiejś predefiniowanej (pierwszej pustej) tablicy, wepchnij ją tam. W rezultacie spróbowałbym czegoś z tablicą_intersect lub podobną, aby po prostu zwrócić różne lokalizacje. To tylko niektóre pierwsze i szybkie i nieokreślone przemyślenia na temat tego, jak dowiedzieć się, gdzie się to rozprzestrzenia. Do tej pory nie mam pojęcia, co bym zrobił z rezultatem lub przekierowaniem ...
Kaiser
... Myślę, że można pobrać różne lokalizacje załączników, a następnie przenieść je i zaktualizować lokalizację w bazie danych. Nie przejmowałbym się zbytnio przekierowaniami. Post wie o tym, kiedy db to wie i kto naprawdę dba o indeksowanie post-załączników. Wolisz, aby nikt bezpośrednio / na gorąco nie łączył twoich zdjęć (ani szablonów załączników), a zamiast tego łączył z zawartym postem. Osobiście nigdy nie użyłem szablonu załącznika ani nawet nie ustawiłem linku (oprócz lightboxów i podobnych) do załącznika w poście.
kaiser
@kaiser: Aktualnie najpierw utworzyłem przekierowania i przeniosłem wszystkie „utracone” obrazy do /wp-content/uploads/moved/katalogu. W ten sposób wszystkie posty, nawet te, które odnoszą się do starych lokalizacji, będą nadal działać, a moje inne katalogi są jasne (co było dla mnie największym problemem: było bardzo niejasne, co należy do WordPressa, a co nie). Teraz aktualizuję istniejące załączniki i dodaję obrazy, które nie zostały jeszcze dodane jako załączniki.
Jan Fabry
@Jan: „Teraz aktualizuję istniejące załączniki i dodaję obrazy, które nie zostały jeszcze dodane jako załączniki”. Na rozdanie - krok po kroku? Nie wiem tego dokładnie, ale myślę, że potrzebujesz przekierowań, o ile wyszukiwarki nie wiedzą o nowej lokalizacji. Reszta powinna polegać na wpisach db. Źle?
kaiser