it-swarm.xyz

Очистка папки загрузок, структура базы данных библиотеки мультимедиа

Я занимаюсь обновлением и очисткой старого блога, который начался на Blogger.com, а затем перешел на WordPress 2.1, 2.3 и сейчас 3.0. Изображения в сообщениях разбросаны вокруг: большинство из них в /wp-content/, но не все в /wp-content/uploads/ или /wp-content/uploads/year/month/. Другие по-прежнему ссылаются на серверы изображений blogger.com. Я хочу объединить их все в /wp-content/uploads/year/month/, что, на мой взгляд, является "правильным" местом? Это должно облегчить последующие обновления.

Каков наилучший способ сделать это? Я также хотел бы обновить метаданные, чтобы библиотека мультимедиа могла управлять ими всеми. Я не смог найти никакой документации по этому вопросу, поэтому извините, если я пропустил это, пожалуйста, укажите мне на это.

Конечно, я бы предоставил перенаправления из старых мест в новые. Каков наилучший способ сделать это? Шаблон 404.php, плагина? Я хотел бы добавить некоторые записи, чтобы мы могли найти ссылающиеся страницы и, возможно, исправить их.

(Этот вопрос был первоначально задавался на форумах поддержки WordPress , но не получил там никакого полезного ответа).

10
Jan Fabry

W3-Total Cache имеет функцию, которая сканирует все ваши сообщения и импортирует любые внешние изображения в медиа-библиотеку и изменяет пути к новому местоположению.

Смотрите скриншот

alt text

7
Chris_O

Правильное место - это текущая настройка, я бы сказал. Поэтому, если вы сейчас используете одну папку для загрузки (вместо подпапок Year/Month), перейдите с этой (может быть очень полной, но проще в сортировке). Так что просто переместите все файлы из подкаталогов year/month в директорию для uploads и измените URL -Пути в базе данных должны обычно выполнять работу.

После того, как все в одной папке (и отсортировано), вы можете снова изменить дизайн папки и переместить файлы в правильный каталог с помощью скрипта PHP, который считывает дату из базы данных. Точно такой же сценарий должен снова принимать URL-пути.

Это что-то вроде того же сценария, который предложил Майк.

В настоящее время пользовательский интерфейс WP не поддерживает ручное перемещение или переименование файлов, поэтому вы привязаны к некоторому собственному коду. Что в любом случае имело бы смысл для партии.

Существующие и связанные плагины

  • Добавить с сервера (плагин Wordpress) - "Добавить с сервера" - это быстрый плагин, который позволяет импортировать мультимедиа и файлы в менеджер загрузок WordPress из файловой системы веб-серверов
2
hakre

@Jan Fabry: Вам, вероятно, понадобится рассмотреть каждый случай отдельно, т. Е. Размещенные в Blogger изображения и изображения вне wp-контента и т.д.

Вот плагин для импорта из Blogger; некоторое время он не обновлялся, но все еще может работать или, по крайней мере, иметь код, который вы можете использовать:

Есть также старый плагин, который может работать, а может и не работать:

Кроме того, я думаю, вам просто нужно написать сценарий PHP, который сканирует ваши файлы и сканирует ваши сообщения в поисках URL-адресов встроенных изображений, создает пересекаемый список, а затем перемещает файлы и обновляет ссылку в сообщении. , Или, может быть, вам повезет, и этот плагин все еще будет работать и сделает это за вас!

Удачи.

1
MikeSchinkel

Возможно (и это только для будущих читателей - это старый вопрос), вы можете перечислить все 'post_type' => 'attachment' и начать отделяться оттуда. Я имею в виду выборку постов и сохранение разных мест в одном массиве. Затем разберитесь, чтобы получить представление о том, где ваши изображения лежат вокруг ...

0
kaiser