it-swarm-es.com

Carpeta de cargas de limpieza, estructura de la base de datos de la biblioteca

Estoy realizando una actualización y limpieza de un blog antiguo que comenzó en Blogger.com, que luego se mudó a WordPress 2.1, 2.3 y ahora 3.0. Las imágenes en las publicaciones están dispersas: la mayoría de ellas están en /wp-content/, pero no todas en /wp-content/uploads/ o /wp-content/uploads/year/month/. Otros todavía hacen referencia a los servidores de imágenes de blogger.com. Quiero consolidarlos a todos en /wp-content/uploads/year/month/, ¿cuál creo que es el lugar "correcto"? Esto debería facilitar las actualizaciones posteriores.

¿Cuál es la mejor manera de hacer esto? También me gustaría actualizar los metadatos para que la Biblioteca de medios pueda gestionarlos todos. No pude encontrar ninguna documentación sobre esto, así que disculpe si me lo perdí, por favor, indíquelo.

Por supuesto, proporcionaría redirecciones desde las ubicaciones antiguas a las nuevas. ¿Cuál es la mejor manera de hacer esto? ¿Una plantilla 404.php, de un plugin? Me gustaría agregar algún registro, para que podamos encontrar las páginas de referencia y quizás corregirlas.

(Esta pregunta fue hecha originalmente en los foros de soporte de WordPress , pero no obtuvo una respuesta útil allí).

10
Jan Fabry

W3-Total Cache tiene una función que escaneará todas sus publicaciones e importará cualquier imagen externa a la biblioteca de medios y cambiará las rutas a la nueva ubicación.

Ver captura de pantalla

alt text

7
Chris_O

El lugar correcto es la configuración actual, diría yo. Por lo tanto, si ahora usa una carpeta de carga (en lugar de las subcarpetas de años/meses), vaya con esa carpeta (puede que se llene mucho, pero sea más fácil de ordenar. Así que solo mueva todos los archivos de los subdirectorios de año/mes al directorio de cargas y cambie la URL). -Las rutas en la base de datos normalmente deberían hacer el trabajo.

Después de que todo esté en una carpeta (y ordenado), puede cambiar el diseño de la carpeta nuevamente y mover los archivos al directorio correcto con un script PHP que lee la fecha desde la base de datos. El mismo script exacto también debe adoptar las rutas de URL nuevamente.

Eso es algo como exactamente el mismo guión que sugirió Mike.

En este momento, la WP UI no admite mover o renombrar archivos manualmente, por lo que está vinculado a algún código propio. Lo que tendría sentido para un lote de todos modos.

Plugins existentes y relacionados

2
hakre

@Jan Fabry: Probablemente deba abordar cada caso por separado, es decir, las imágenes alojadas por Blogger y las que están fuera del contenido de wp, etc.

Aquí hay un plugin para importar desde Blogger; no se ha actualizado desde hace tiempo, pero aún puede funcionar o al menos tener un código que puede usar:

También hay un complemento anterior que puede o no funcionar:

Más allá de eso, creo que solo necesitarás escribir un PHP script que escanea tus archivos y escanea tus publicaciones en busca de URL de imágenes incrustadas, desarrolla una lista intersectada y luego mueve los archivos y actualiza la referencia en la publicación. . O tal vez tengas suerte y ese complemento aún funcionará y lo hará por ti.

Buena suerte.

1
MikeSchinkel

Tal vez (y eso es solo para futuros lectores - es una antigua Q) puede listar todos los 'post_type' => 'archivo adjunto' y comenzar a separarse de allí. Me refiero a obtener las publicaciones y guardar las diferentes ubicaciones en una matriz. Luego, resuelva esto para obtener una descripción general de dónde se encuentran sus imágenes ...

0
kaiser