Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо написать класс для WordPress который сохраняет посты определенного типа (задаются при инициализации класса) и сохраняет элементы из Media Library (ML) привязанные к этому посту в файл формата xml. Так же может восстанавливать эти же посты и элементы ML из файла xml.

Элементы привязываются через поле метаданных (таблица postmeta  ) с именем (images ) виде массива и имеют формат a:5:{i:0;s:2:"22";i:1;s:2:"15";i:2;s:2:"14";i:3;s:2:"23";i:4;s:2:"12";}

Доступ к этому полю осуществляется с помощью стандартного api get_post_meta

Export

Получить весь список постов определенного типа

И для каждого поста сохранять все поля для записи Post

 1. post_content, post_title и все базовые из таблици posts

 2. мето данные (из таблици postmeta) которые привязаны к посту

Просмотреть данные с метополя images  и сохранить все элементы ML ( базовы параметры и метаданные wp_get_attachment_metadata  )

обязательно соблюсти порядок чтобы при восстановлении он не отличался

Сгенерировать хмл и не сохраняя на сайт предложить для скачивания файл

Import

Проверяется коректность хмл файла

Создается все post и востанавливаются их данные  (таблици posts  и postmeta )

Создаются все элкементы ML и их данные

обновляется поле images  в соответствии с новыми id элеметов ML

Вернуть статистика сколько восстановлено постов и сколько элеметов ML

(так же вернуть сколько пропущено элементов или создано копий если такие элементы уже есть)

Проверка для постов осуществляется по slug или тайтл

Проверка для элементов по названию файла или тайтлу

Пример работы класса

$xmlExport = new WordPressExport ( $type = 'postType' );

$xmlExport->exportPosts( $fileName = 'export.xml' );

$xmlExport->importPosts( $fileName = 'export.xml' );

возрат array( inport => array( post => 5, element => 15) , dublicate => array( post => 1, element => 3) )

У класса есть свойство dublicate по умолчанию 0

        если 1 - тогда при обнаружении совпадения необходимо создать дубликат с приставкой copy_

        если 0 - просто пропустить этот файл и использовать id существующего

формат xml файла мы не указываем - на свое усмотрение.

Тестирование

Для тестирования используем базовый вордпрес к статьям которого добавлено поле методанных images с помощью add_post_meta($post_id, $meta_key, $meta_value, $unique);

в качестве значение указан масив из id элементов ML (айди можно посомтреть при выборе элемента в ML http://localhost/wp-admin/upload.php?item=24  id=24)

Проверить работу:

при 0 статей 0 элементов

При 1 post 0 элементов (пустое поле images)

При 1 post 0 элементов ( поле images внесен мусор)

При 1 post 10 элементов

При 5 post 30 элементов

Детали через емайл или скайп.

8 лет назад
e-masters
Мамедов 
52 годаУкраина
19 лет в сервисе
Был
3 года назад
  • Похожие заказы
  • $50

    Здравствуйте,необходимо  написать профессиональное ТЗ на разработку веб сайта и Мобильных приложений.    Есть аналогичный веб сервис,ссылочку дадим,+ свои пожелания так же опишем.    Необходимо профессиональное ТЗ,которое будет прикреплено к договору для подписи с клиентом.    Сроки 2 дня.  Жду Ваших предложений.    Просьба не ...

    Закрыт
    8 лет назад
  • $50

    1) есть готовая верстка, ее пришлю на почту. Вот макеты можно посмотреть: [url=https://drive.google.com/folderview?id=0BwPTm6v9VzYQa3E5cGU2Sk1uRmM&usp=sharing]https://drive.google.com/folderview?id=0BwPTm6v9VzYQa3E5cGU2Sk1uRmM&usp=sharing[/url]2) есть готовый прототип, по которому легко разобраться что и как работает: [url=http://8fot5d.axshare.com/%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F.html]http://8fot5d.axshare.com/%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F.html[/url]3) есть максимально конкретное ТЗ, по которому понятно что нужно получить на выходе ...

    Закрыт
    8 лет назад
  • $30

    Приветствую нужно создать универсальный модуль для OpenCart. Экспорт товаров в социальные сети такие как [url=http://ok.ru]одноклассники[/url], [url=http://vk.com]вконтакте[/url], [url=https://twitter.com]твиттер[/url], [url=https://www.facebook.com]фейсбук[/url] и [url=https://market.yandex.ru]яндекс маркет[/url]. Состоящий из графы настройки(всех сетей) и самого экспорта с выбором куда(какую соц сеть) экспортировать ...

    Закрыт
    8 лет назад
  • Прорабатываю проект веб-сервиса, основанный на поиске. Стартовый капитал и потенциальные выходы на VC имеются.   На данный момент ищу эксперта (программиста, разработчика), имеющего или опыт и портфолио, или же знание, энергию и энтузиазм для разработки паука ...

    Закрыт
    8 лет назад
  • $20

    Приветствую, нужно создать модуль для OpenCart или доработать эти... Принцип работы таков: что бы автоматизировать процесс, изменение скидки каждой группе покупателей с указанием количества покупок для перехода в другую группу покупателей. Бюджет 1000 рублей

    Закрыт
    8 лет назад
  • $4

    Есть буквально пара правок для сайта на wordpress. Одна из них затрагивает ошибку при поиске. Другая совсем незначительная. Все детали напишу. Оплата по завершении сразу же на wmr.

    Завершен
    8 лет назад
  • Добрый вечер! Нужно реализовать задачу. CMS WORDPRESS Имеется список ссылок на статьи, при кликe на ссылку выводить статью без перезагрузки,при переходе на другие ссылки тоже все должно работать без перезагрузки

    Закрыт
    8 лет назад
  • $500

    Требуется разработать низкополигональную модель венецианского собора.  [url=http://offclouds.com/data_images/wallpapers/35/373446-san-marco.jpg]http://offclouds.com/data_images/wallpapers/35/373446-san-marco.jpg[/url] Модель будет использоваться для просмотра через мобильное приложение.  Высылайте ссылки на свои работы.  Оплата 50% после предоставления геометрии, 50% после окончания работы. Вы должны обладать прокаченными скилами в моделировании сложных архитектурных объектов и ...

    Закрыт
    8 лет назад