Добавляем, изменяем или удаляем записи на сайтах под WordPress, удалённо через XML-RPC.

XML-RPC – это технология, позволяющая удалённо работать с интернет-ресурсами, простыми командами PHP, не заходя при этом на сам сайт и не используя панель администратора. Всё больше и больше владельцев сайтов или блогов, созданных на CMS WordPress, предпочитают добавлять или изменять (править) свои статьи удалённо.
Это способ работы с контентом действительно оправдывает себя. Удалённая работа через XML-RPC быстрее, так как не нужно тратить время на авторизацию через панель управления, ещё не нужно ждать пока статья добавится в базу данных, а ответ об успешной операции вы получите моментально.

wordpress-xml

В CMS WordPress встроен функционал XMLRPC, который позволяет удалённо использовать все необходимые операции: добавлять, редактировать или удалять записи. Также можно их получать с ваших сайтов и выводить все посты или к примеру, десять добавленных последними. Ещё одно из очень полезных свойств у RPC – возможность добавлять своё сообщение (запись) на 10, 20 или на все свои сайты, к которым у вас есть доступ, в виде логина и пароля. Ну естественно, что на этих сайтах также должен быть включён сам XMLRPC. Благодаря описанному модулю можно делать много операций, но я написал только о самых важных и необходимых, для работы с контентом сайта.

Работа с библиотекой IXR_Library

В первых четырёх примерах мы будем работать с библиотекой “IXR_Library”. Эта библиотека содержит PHP классы и методы, необходимые для преобразования данных PHP в XML-RPC и наоборот. Прелесть этой библиотеки заключается в том, что не нужно знать тонкостей работы XML-RPC, чтобы её использовать. К тому же вам предоставляется минимальное количество PHP кода. Основная часть его составляет переменные с полями, необходимыми для создания статей: заголовок, сам текст статьи, принадлежность к категориям, метки и т.д.
И в последнем примере будет немного другой способ подключения. Он реализован через PHP CURL, для удалённой работы с сайтом.

5 простых модулей, описанных ниже, могут выполнять следующие операции:

  • Добавляем новые статьи или страницы на сайт;
  • Выводим (показываем) последних 10 статей с сайта;
  • Редактируем запись по переданному “ID”;
  • Добавляем изображение в медиа библиотеку;
  • Удаляем статью через CURL по ID записи;

Перед работой можно проверить наличие самого файла xmlrpc.php. Он должен присутствовать в корневой сайта. И проверить что XMLRPC включен в настройках WP на сайте, с которым будем работать.

Скачать последнюю версию библиотеки IXR_Library.php.inc можно с сайта разработчика – http://scripts.incutio.com/xmlrpc/

или стабильную и мной проверенную здесь: скачать IXR_Library.zip

Добавляем новую запись на сайт удалённо, через XML-RPC.

создадим файл с названием – add-post.php

Как видите, функционал весьма прост.
При необходимости можно собрать простую форму, которая будет добавлять ваши новые статьи на все сайты. Ну в общем перспективы очень велики…

Тестировал данный модуль с локального сервера и заливка всех материалов прошла довольно быстро.

Получаем последние 10 записей с нашего сайта и выводим их в таблице на экран.

Как вариант, можно получать последние свежие новости со всех ваших сайтов, или работать с входящими комментариями.
файл – view_posts.php

добавим файл – get-ten-new-posts.php

Следующий модуль редактирует статью на сайте под WordPress.

Создадим ещё один файл и назовём его – edit-post-from-id.php

Добавляем изображение на сайт, удалённо через XML-RPC.

создадим файл – add-image-to-media.php

Удаляем статью, удалённо, через XML-RPC, с помощью PHP библиотеки – CURL, по переданному ID-поста.

Создадим файл – delete-post-by-id.php

Если вы не используете XML-RPC, то лучше его отключить, так как это очень уязвимое место, и через него могут попробовать взломать сайт.
Для этого в файле functions.php следует добавить функцию

Также можно удалить или переименовать главный файл xmlrpc.php, который находится в корне сайта.

1 Бал2 Бала3  Бала4  Бала5  Балов
loadingЗагрузка...

<<< >>>

Добавить комментарий