Жизнь это - мгновения, промежутки. Ночь ушла, солнце скоро взойдет. Сделайте эти промежутки настолько прекрасными насколько это возможно - наполненными молчанием, наполненными благодарностью к существованию, которое дало вам шанс, благодарностью по отношению ко всем тем, кто вам помог. И ждите.


1 мая 2017 г.

Удаленная публикация в WordPress через XML-RPC MetaWeblog API

Многие, наверное, знают, что в WordPress можно публиковать записи удаленно. Есть куча клиентов для этого, но самое интересное, что с помощью этой функции можно наполнять сетку сайтов через единый веб интерфейс. У такого способа масса преимуществ. Безопасность ( вход в админки сайтов закрыт по IP ), более работа с копирайтерами и редакторами ( они работают в едином, более упрощенном, интерфейсе и не имеют доступа собственно сайтам ), к такому веб интерфейсу можно прикрутить кучу разных плюшек, которые на самих wordpress сайтах не нужны.

Но сегодня я выложу немного кода, который позволяет мне постить статьи на WordPress сайтах через XML-RPC MetaWeblog API. Я использую PHP, Yii, Incutio XML-RPC library. Фреймворк и библиотека не принципиальны конечно. В CodeInteger например xml-rpc библиотека встроена по умолчанию, и, кстати, нравится мне значительно больше, чем Incutio.


Для начала ссылки

Настройка WordPress

  • Ну во-первых ваш PHP должен быть собран с функцией libxml и php5-xmlrpc. Я не сталкивался с хостингами, где бы этого не было, но может быть всякое.
  • В версиях WordPress выше 3.5 удаленная публикация включена по умолчанию. В более старых версиях её надо включить Settings > Writing > Remote Publishing.
  • И, наконец, вам нужен юзер из под которого будут публиковаться удаленные статьи. Из под админа это делать не разумно. Поэтому заведите отдельного пользователя с правами автора.

Публикация поста через MetaWeblog API

Читайте комменты в коде:

Публикация изображения через MetaWeblog API

С публикацией поста все просто. С публикацией картинки веселее. Особенно если нужно привязать картинку к посту, и вставить загруженную картинку в пост. То есть сначала надо загрузить картинку, получить ссылки на разные её размеры, потом добавить картинки в текст поста, пост опубликовать, и проставить картинке привязку к посту.

Как то так получается. Обвязку вокруг показывать не вижу смысла, сами свое допишете. Если что – спрашивайте в комментариях.
8 июля 2014 | 

2 Комментариев к “Удаленная публикация в WordPress через XML-RPC MetaWeblog API”

  1. Wild 8 февраля, 2017
    Здравствуйте. Подскажите пример обвязки на событие в WP. Например на публикацию поста. Что то как то не пошло то что я пытался сделать. Заранее благодарен.
  2. Azzrael 8 февраля, 2017
    В письме вы спрашивали про задачу публикации поста из одного блога в другой с сохранением post id. Сохранить post id при публикации через Metablog API, то есть сделать чтобы post id был был в двух блогах одинаковым, не получится ( через метаблог ).

    Если просто хочется постить что-то в другой блог после постинга на первом. То берете первый код, оборачиваете в функцию, и вешаете на action в первом блоге, в вашем примере, что был в письме, woocommerce_create_order. Туда и вешаете. Лучше все это сделать в виде плагина и не забыть заинклюдить Incutio. Все достаточно просто вроде.

Есть что сказать по теме статьи? Пожалуйста - пишите!

Комментариев нет:

Отправить комментарий