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

killer911

Client
Регистрация
23.03.2015
Сообщения
491
Благодарностей
103
Баллы
43
Учитывая высокую активность в теме по продаже шаблона парсера из Вебархива, я сделал вывод, что у людей на руках много текстов. И мой шаблон по публикации в 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 запроса, для публикации статьи, и удаление исходных файлов.

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

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

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

Вложения

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

Manfred

Client
Регистрация
06.08.2019
Сообщения
36
Благодарностей
17
Баллы
8
Привет!

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

killer911

Client
Регистрация
23.03.2015
Сообщения
491
Благодарностей
103
Баллы
43
Привет!

А наполнение блога на сайте wordpress.com
не пробовал делать этим шабом?
Для работы WordPress rest API нужно устанавливать плагины. На wordpress.com нет возможности устанавливать плагины. Ну а попробовать вам никто не мешает
 
  • Спасибо
Реакции: Manfred

Gomer

Client
Регистрация
26.09.2016
Сообщения
27
Благодарностей
17
Баллы
3
killer911, молодца. Мой голос за тебя, то что нужно! Прям вообще в точку попал. Еще бы постер рабочий в ЯДзен бы запилили, из тех же файлов, цены бы Вам не было!
 

killer911

Client
Регистрация
23.03.2015
Сообщения
491
Благодарностей
103
Баллы
43
killer911, молодца. Мой голос за тебя, то что нужно! Прям вообще в точку попал. Еще бы постер рабочий в ЯДзен бы запилили, из тех же файлов, цены бы Вам не было!
А в чём там сложность? Или нужно api/post-get?
 

Kedr

Client
Регистрация
31.08.2016
Сообщения
12
Благодарностей
2
Баллы
3
Привет! Этот плагин - WP REST API, не поддерживаться и может иметь проблемы с совместимостью при использовании с более свежими версиями WordPress. Какую версию плагина ты используешь, в архив можешь его добавть?
 

killer911

Client
Регистрация
23.03.2015
Сообщения
491
Благодарностей
103
Баллы
43
Привет! Этот плагин - WP REST API, не поддерживаться и может иметь проблемы с совместимостью при использовании с более свежими версиями WordPress. Какую версию плагина ты используешь, в архив можешь его добавть?
Использую именно тот на который дал ссылку. Как я понял, более свежей версии нет
 

Kedr

Client
Регистрация
31.08.2016
Сообщения
12
Благодарностей
2
Баллы
3
С более свежими версиями WordPress может возникнуть несовместимость, какая версия WordPressа (узнать версию WordPress можна зайдя в админ консоль) на которой ты поводил тест шаблона?
 
Последнее редактирование:

killer911

Client
Регистрация
23.03.2015
Сообщения
491
Благодарностей
103
Баллы
43
С более свежими версиями WordPress может возникнуть несовместимость, какая версия WordPressа (узнать версию WordPress можна зайдя в админ консоль) на которой ты поводил тест шаблона?
Последняя версия. Я постоянно обновляю движок
 

killer911

Client
Регистрация
23.03.2015
Сообщения
491
Благодарностей
103
Баллы
43
  • Спасибо
Реакции: Kedr

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 822
Благодарностей
2 812
Баллы
113
Может я чтото не то спрашиваю или тяжело ответить, на какой версии движка WordPressа ты тестировал свой шаблон?
У вас не постит?
У меня нет. Картинку не заливает, пост не создает, но у меня сайты специфичные, может этот плагин не работает только у меня.
Так то юзаю два других метода для постинга WP, думал будет третий...
 
Последнее редактирование:
  • Спасибо
Реакции: Andrew Shell

killer911

Client
Регистрация
23.03.2015
Сообщения
491
Благодарностей
103
Баллы
43
У вас не постит?
У меня нет. Картинку не заливает, пост не создает, но у меня сайты специфичные, может этот плагин не работает только у меня.
Так то юзаю два других метода для постинга WP, думал будет третий...
Какой ответ возвращает Post запрос?
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 822
Благодарностей
2 812
Баллы
113

MasterX

Client
Регистрация
11.12.2015
Сообщения
91
Благодарностей
19
Баллы
8
У вас не постит?
У меня нет. Картинку не заливает, пост не создает, но у меня сайты специфичные, может этот плагин не работает только у меня.
Так то юзаю два других метода для постинга WP, думал будет третий...
Поделись методами постинга пожалуйста.
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 822
Благодарностей
2 812
Баллы
113
На другом сайте работает, после некоторых правок (была проблема отправки с пустыми тегами). Значит в принципе шаблон рабочий, а виноват мой сайт, на нём БД просто на SQLite.
Поделись методами постинга пожалуйста.
XML-RPC и просто импорт через встроенный функционал.
 
  • Спасибо
Реакции: killer911 и MasterX

lockerr

Client
Регистрация
20.08.2019
Сообщения
20
Благодарностей
4
Баллы
3
Начиная с версии 4.7 (кажется) REST-API засунули в core (ядро) вордпресса, и поэтому плагины для апи НЕ нужны.
НО! Крайне желателен плагин для авторизации (чтобы не му####ться с nonce). Например https://wordpress.org/plugins/application-passwords/
 
  • Спасибо
Реакции: killer911

tispoint

Client
Регистрация
11.01.2019
Сообщения
6
Благодарностей
0
Баллы
1
"Авторизация по средствам WordPress "
наверно подразумевалось "Авторизация посредством WordPress "
 

Sergasi

Client
Регистрация
04.03.2020
Сообщения
3
Благодарностей
1
Баллы
3
Добрый день

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

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

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

Могу предоставить для теста 1-2 книги
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
207
Благодарностей
99
Баллы
28
Кто поможет разобраться? Из коробки у меня он так и не сработал.
Даже картинку не загружает. Кучу времени убил, не понимаю, в чем дело.
 

FelixCat

Client
Регистрация
08.12.2015
Сообщения
16
Благодарностей
0
Баллы
1
При отправке поста пишет:
Выполнение действия Parse Json/Xml Error reading JToken from JsonReader. Path '', line 0, position 0.
Подскажите пожалуйста, в чем может быть причина?
 

Вложения

Alexmd

Client
Регистрация
10.12.2018
Сообщения
207
Благодарностей
99
Баллы
28
почему-то при подключении cloudflare перестает работать. какие у кого наблюдения? даже разрешил полный доступ в настройках cloudflare/firewall для своего ip, но не помогло. Отключил cloudflare и все заработало
 

FelixCat

Client
Регистрация
08.12.2015
Сообщения
16
Благодарностей
0
Баллы
1
У меня тоже проблема с работой шаблона. cloudflare тоже подключен, возможно в этом и проблема.
 

FelixCat

Client
Регистрация
08.12.2015
Сообщения
16
Благодарностей
0
Баллы
1
Плагины установил. cloudflare отключил. Но шаблон так и не заработал.

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

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