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

Класс для WordPress

истекло время актуальности


Необходимо написать класс для 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 элементов


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


Сделать ставку!

Заказчик не желает делать предоплату? Предложите оплату через Сейф, чтобы избежать возможного мошенничества.

  1.  фрилансер больше не работает на сервисе
  2.  фрилансер больше не работает на сервисе
  3. 5 дней500 $
    Константин Соколов
     244 

    Добрый день.

    Уже пятый год как мы - команда и, чего у нас не отнять так это опыта в области Web-решений. Мы создали собственную платформу для разработки и управления сайтами и интернет коммерцией. Гибкий дата-менеджер, индивидуальный CRM, удобная и простоя в использование админ. панель

    Наши сайты корректно отображаются на всех устройствах и браузерах, оптимизированы под поисковые системы (Google, Яндекс),а так же размещены на собственном безопасном и быстродействующем сервере.

    Примеры наших работ: ovo.ua/works https://freelancehunt.com/freelancer/Konstantyt.html#portfolio
    Наш проект: ovobox.com
    Сайт: ovo.ua

    С уважением,

    Константин Соколов
    Project Manager
    Digital Студия OVO

    Украина,
    г. Киев, ул. Старокиевская 10-Г, БЦ "Vector".

    тел: +38 (063) 578 15 70
    skype: konstantin_ovo.ua
    e-mail: [email protected]
    вк: https://vk.com/sale_ovo_ua

    Украина Киев | 9 декабря 2015 |
  4. 2 дня30 $
    Ivan C.
     455  проверен   3   0

    Задача понятна, готов приступить.

    Украина Львов | 9 декабря 2015 |

Заказчик
Андрей Мамедов
Украина Киев  1   0
Проект опубликован
9 декабря 2015
204 просмотра
Способы оплаты
Метки