Cleanup upload cartella, struttura db Libreria multimediale


10

Sto facendo un aggiornamento e una pulizia di un vecchio blog che è iniziato su Blogger.com, per poi passare a WordPress 2.1, 2.3 e ora in hosting autonomo. Le immagini nei post sono sparse: la maggior parte sono in /wp-content/, ma non tutte in /wp-content/uploads/o /wp-content/uploads/year/month/. Altri ancora fanno riferimento ai server di immagini blogger.com. Voglio consolidarli tutti in /wp-content/uploads/year/month/, che penso sia il posto "corretto"? Ciò dovrebbe facilitare gli aggiornamenti successivi.

Qual è il modo migliore per farlo? Vorrei aggiornare anche i metadati, in modo che la Libreria multimediale possa gestirli tutti. Non sono riuscito a trovare alcuna documentazione su questo, quindi mi dispiace se l'ho perso, per favore indicamelo.

Naturalmente, fornirei i reindirizzamenti dalle vecchie posizioni alla nuova. Qual è il modo migliore per farlo? Un modello 404.php, di un plugin? Vorrei aggiungere un po 'di registrazione, così possiamo trovare le pagine di riferimento e forse correggerle.

(Questa domanda è stata originariamente posta sui forum di supporto di WordPress , ma qui non è stata fornita alcuna risposta utile).


stai cercando un plugin che fa il lavoro?
Hacre,

Jan? Qualche feedback sul tuo problema? Nessuna risposta ti piace? Nessun commento utile?
hakre,

Concordo sul fatto che una sorta di editor di massa di contenuti multimediali sarebbe utile. Qualcosa che ti consente di importare file multimediali da diverse cartelle e spostarli rapidamente in base ad alcune regole. Potrei lavorare su questo in realtà.
noio,

Risposte:


7

W3-Total Cache ha una funzione che scansionerà tutti i tuoi post e importerà tutte le immagini esterne nel catalogo multimediale e cambierà i percorsi nella nuova posizione.

Vedi Screenshot

testo alternativo


2

Il posto giusto è l'impostazione attuale, direi. Quindi, se ora usi una cartella di upload (invece delle sottocartelle di anni / mese) vai con quella (potrebbe essere molto piena, ma più facile da ordinare. Quindi basta spostare tutti i file dalle sottodirectory anno / mese nella directory di upload e cambiare l'URL -Paths nel database dovrebbe normalmente fare il lavoro.

Dopo tutto è in una cartella (e ordinata), è possibile modificare nuovamente il design della cartella e spostare i file nella directory corretta con uno script PHP che legge la data dal database. Lo stesso script esatto deve adottare di nuovo anche i percorsi URL.

È qualcosa come la stessa identica sceneggiatura suggerita da Mike.

Al momento, l'interfaccia utente di WP non supporta lo spostamento o la ridenominazione manuale dei file, quindi sei vincolato a un codice personale. Il che avrebbe comunque senso per un lotto.

Plugin esistenti e correlati

  • Aggiungi dal server (plug-in Wordpress) - "Aggiungi dal server" è un plug-in rapido che consente di importare file multimediali e file nel gestore dei caricamenti di WordPress dal filesystem Webservers

1

@Jan Fabry: probabilmente dovrai affrontare ogni caso separatamente, ovvero le immagini ospitate da Blogger e quelle esterne al contenuto di wp, ecc.

Ecco un plugin per l'importazione da Blogger; non è stato aggiornato da un po 'ma potrebbe ancora funzionare o almeno avere un codice che puoi usare:

Esiste anche un plug-in più vecchio che può o non può ancora funzionare:

Oltre a ciò, penso che dovrai solo scrivere uno script PHP che scansiona i tuoi file e scansiona i tuoi post alla ricerca di URL di immagini incorporate, sviluppa un elenco intersecato e quindi sposta i file e aggiorna il riferimento nel post. O forse sarai fortunato e quel plugin funzionerà ancora e lo farà per te!

In bocca al lupo.


0

Forse (e questo è solo per i futuri lettori - è un vecchio Q) puoi elencare tutti 'post_type' => 'allegato' e iniziare a separare da lì. Intendo recuperare i post e salvare le diverse posizioni in un array. Quindi ordina questo per avere una panoramica di dove sono le tue immagini ...


1
@kaiser: potrebbe essere una vecchia domanda, ma sto ancora lavorando su parti di esso, quindi tutti i suggerimenti sono benvenuti! Spero di scrivere presto quello che ho finito come risposta.
Jan Fabry,

@Jan: Immagino che chiamerei tutto 'post_type' => 'allegato' e quindi chiamerei la posizione (se questa è memorizzata da qualche parte nelle query_vars) e se non esiste in un array predefinito (primo vuoto), inseriscilo Là. Con il risultato proverei qualcosa con array_intersect o simile per restituire semplicemente le diverse posizioni. Questi sono solo alcuni dei primi e rapidi pensieri sporchi / approssimativi su come scoprire dove si diffonde la roba. Finora non ho idea di cosa farei con il risultato o il reindirizzamento ...
Kaiser

... Immagino sia possibile recuperare le diverse posizioni degli allegati, quindi spostarle e aggiornare la posizione nel db. Non mi interessa molto dei reindirizzamenti. Il post lo sa, quando il db lo sa e chi se ne frega davvero dell'indicizzazione dei post-allegati. Preferiresti che nessuno collegasse direttamente / hot le tue immagini (o modelli di allegati) e invece collegasse al post contenente. Personalmente non ho mai usato un modello di allegato né impostato un collegamento (oltre a lightbox e simili) a un allegato all'interno di un post.
Kaiser

@kaiser: al momento ho creato i reindirizzamenti e ho spostato tutte le immagini "perse" nella /wp-content/uploads/moved/directory. In questo modo tutti i post, anche quelli che fanno riferimento a vecchie posizioni, continueranno a funzionare, e le mie altre directory sono chiare (che era il problema più grande per me: non era molto chiaro cosa appartenesse a WordPress e cosa no). Ora sto aggiornando gli allegati esistenti e aggiungendo immagini che non sono state ancora aggiunte come allegati.
Jan Fabry,

@Jan: "Ora sto aggiornando gli allegati esistenti e aggiungendo immagini che non sono state ancora aggiunte come allegati." Per mano - poco a poco? Non lo so esattamente, ma immagino che tu abbia bisogno dei reindirizzamenti solo se i motori di ricerca non conoscono la nuova posizione. Il resto dovrebbe fare affidamento sulle voci db. Sbagliato?
Kaiser
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.