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.