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.php
wtyczki? 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).
źródło
Odpowiedzi:
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źródło
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
źródło
@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.
źródło
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 ...
źródło
/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.