Наполнение WordPress сайта при помощи WordPress REST API

Регистрация
23.03.2015
Сообщения
1 302
Реакции
848
Баллы
113
Учитывая высокую активность в теме по продаже шаблона парсера из Вебархива, я сделал вывод, что у людей на руках много текстов. И мой шаблон по публикации в WordPress, по средствам WordPress rest API, будет полезен людям.

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

Шаблон делался на коленке, для моих узких задач, поэтому воспринимайте его как заготовку для своего проекта. Но шаблон, даже в этом виде, полностью справляется со своими задачами.

Для работы с WordPress rest API на сайте должны быть установлены эти плагины:

Внешне шаблон выглядит так:

2020-03-03_13-00-36.png

Входные настройки выглядят так:

2020-03-03_13-04-08.png

Настройка шаблона

В архиве с шаблоном есть две папки img и stati
Папка img необходима для временного хранения изображений
В папку stati нужно поместить тхт файлы со статьями. Формат файла следующий: Первая строка это заголовок, всё остальное тело статьи. Пример прилагается.

Входные настройки проще не придумаешь: домен вашего сайта без http и www, логин и пароль от вашей учётной записи на сайте, установить чекбокс, если хотите автоматически генерировать теги(подробнее об этой функции расскажу далее)

Как это работает?

В шаблоне все основные блоки подписаны. Расскажу для чего нужен каждый блок и будет понятна логика работы шаблона.

"Конвертим логин и пароль в base64"
Авторизация по средствам WordPress rest API требует чтобы логин и пароль были в формате Base64.

"Получаем статью из файла"
В данном блоке берётся заголовок и текст статьи из тхт файла

"Авто генерация тегов"
Если вы указали что вам нужно генерировать теги, в этом блоке происходит процесс генерации тегов по средствам сервиса http://syn1.ru/tools/keygeneratortext. Получается не очень качественно, но меня устраивает.

"Получение id тегов с вашего сайта"
Данные блок отправляет запрос к вашему сайту . С целью получить id, сгенерированный ранее, тегов. Если на вашем сайте такого тега нет, то он создаётся.

"Качаем картинку с яндекс"
Мне было лень самому подбирать картинки к статьям, поэтому я сделал данный блок. Он делает запрос в Яндекс картинки с заголовком статьи и скачивает случайную картинку шириной не менее 600 пикселей

"Загрузка картинки"
Здесь происходит загрузка картинки на сервер и получение её id. Хочу выразить благодарность пользователю @Dozer009 за то что поделился способом загрузки изображений

"Подготовка поста"
Это самый муторный и неоднозначный блок. В нём происходит подготовка текста статьи к отправки post запросом. Поскольку шаблон несколько раз переделывался под разные источники, я не уверен в актуальности всех кубиков, но удалять их не решаюсь. Их присутствие не мешает, а из-за отсутствия статья может не опубликоваться. С целью отслеживать символы мешающие публикации, в случае ошибки при публикации, весь post запрос сохраняется файл log_error_posts.txt.

"Отправка поста"
Отправка Post запроса, для публикации статьи, и удаление исходных файлов.

Могут возникать ошибки при добавление тегов. Поскольку тегов много и запросы идут часто, хостинг может определить их как нежелательную активность и заблокировать ваши запросы. В этом случае вам помогут прокси(в подписи есть ссылка на не дорогие). Ну или добавьте паузу.

Пользуйтесь на здоровье!

Хочу напомнить, что я крайне положительно отношусь к конструктивной критике. Рад буду услышать идеи по улучшению шаблона. За оскорбление буду отправлять жалобу!
 
Номер конкурса шаблонов
  1. Пятый конкурс шаблонов
Уровень сложности
Средний
Категория
  1. Постинг

Вложения

Последнее редактирование модератором:
Привет!

А наполнение блога на сайте wordpress.com
не пробовал делать этим шабом?
 
Привет!

А наполнение блога на сайте wordpress.com
не пробовал делать этим шабом?
Для работы WordPress rest API нужно устанавливать плагины. На wordpress.com нет возможности устанавливать плагины. Ну а попробовать вам никто не мешает
 
  • Спасибо
Реакции: Manfred
killer911, молодца. Мой голос за тебя, то что нужно! Прям вообще в точку попал. Еще бы постер рабочий в ЯДзен бы запилили, из тех же файлов, цены бы Вам не было!
 
killer911, молодца. Мой голос за тебя, то что нужно! Прям вообще в точку попал. Еще бы постер рабочий в ЯДзен бы запилили, из тех же файлов, цены бы Вам не было!
А в чём там сложность? Или нужно api/post-get?
 
Привет! Этот плагин - WP REST API, не поддерживаться и может иметь проблемы с совместимостью при использовании с более свежими версиями WordPress. Какую версию плагина ты используешь, в архив можешь его добавть?
 
Привет! Этот плагин - WP REST API, не поддерживаться и может иметь проблемы с совместимостью при использовании с более свежими версиями WordPress. Какую версию плагина ты используешь, в архив можешь его добавть?
Использую именно тот на который дал ссылку. Как я понял, более свежей версии нет
 
С более свежими версиями WordPress может возникнуть несовместимость, какая версия WordPressа (узнать версию WordPress можна зайдя в админ консоль) на которой ты поводил тест шаблона?
 
Последнее редактирование:
С более свежими версиями WordPress может возникнуть несовместимость, какая версия WordPressа (узнать версию WordPress можна зайдя в админ консоль) на которой ты поводил тест шаблона?
Последняя версия. Я постоянно обновляю движок
 
  • Спасибо
Реакции: Kedr
Может я чтото не то спрашиваю или тяжело ответить, на какой версии движка WordPressа ты тестировал свой шаблон?
У вас не постит?
У меня нет. Картинку не заливает, пост не создает, но у меня сайты специфичные, может этот плагин не работает только у меня.
Так то юзаю два других метода для постинга WP, думал будет третий...
 
Последнее редактирование:
  • Спасибо
Реакции: Andrew Shell
У вас не постит?
У меня нет. Картинку не заливает, пост не создает, но у меня сайты специфичные, может этот плагин не работает только у меня.
Так то юзаю два других метода для постинга WP, думал будет третий...
Какой ответ возвращает Post запрос?
 
У вас не постит?
У меня нет. Картинку не заливает, пост не создает, но у меня сайты специфичные, может этот плагин не работает только у меня.
Так то юзаю два других метода для постинга WP, думал будет третий...
Поделись методами постинга пожалуйста.
 
На другом сайте работает, после некоторых правок (была проблема отправки с пустыми тегами). Значит в принципе шаблон рабочий, а виноват мой сайт, на нём БД просто на SQLite.
Поделись методами постинга пожалуйста.
XML-RPC и просто импорт через встроенный функционал.
 
  • Спасибо
Реакции: KolkaPetkinSyn и MasterX
Начиная с версии 4.7 (кажется) REST-API засунули в core (ядро) вордпресса, и поэтому плагины для апи НЕ нужны.
НО! Крайне желателен плагин для авторизации (чтобы не му####ться с nonce). Например https://wordpress.org/plugins/application-passwords/
 
  • Спасибо
Реакции: KolkaPetkinSyn
"Авторизация по средствам WordPress "
наверно подразумевалось "Авторизация посредством WordPress "
 
Добрый день

Можно Вам идею подкинуть :) ?

Допустим у меня есть скан текста в Word , я его сохряняю в HTML и отдаю вашей программе . Программа с учетом предварительной разметки в Word и последующим сохранением в HTML ( H1 теги) понимает где заголовок статьи , а где подзаголовки . Программа публикует книгу на сайт согласно настроеной HTML разметкию

Хорошо бы в это комбайн вставить парсинг youtube для вставки релевантных видео согласно заголовку статьи :)

Могу предоставить для теста 1-2 книги
 
Кто поможет разобраться? Из коробки у меня он так и не сработал.
Даже картинку не загружает. Кучу времени убил, не понимаю, в чем дело.
 
При отправке поста пишет:
Выполнение действия Parse Json/Xml Error reading JToken from JsonReader. Path '', line 0, position 0.
Подскажите пожалуйста, в чем может быть причина?
 

Вложения

  • Parse Json.png
    Parse Json.png
    49,1 KB · Просмотры: 507
почему-то при подключении cloudflare перестает работать. какие у кого наблюдения? даже разрешил полный доступ в настройках cloudflare/firewall для своего ip, но не помогло. Отключил cloudflare и все заработало
 
У меня тоже проблема с работой шаблона. cloudflare тоже подключен, возможно в этом и проблема.
 
Плагины установил. cloudflare отключил. Но шаблон так и не заработал.

При отправке поста пишет:
Выполнение действия Parse Json/Xml Error reading JToken from JsonReader. Path '', line 0, position 0.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)