Представим ситуацию: у вас есть большое кол-во контента, которое представлено либо уже в готовом виде, либо в легко считываемых форматах (ексель, БД и т.д.), и вам необходимо разместить этот контент на своём сайте. Если делать это в ручную, то у вас уйдёт уйма времени, и есть вероятность, что после несколько добавленных записей вам это надоест.

И что делать, если вам необходимо разместить более 1000 записей? Это просто нереально сделать в ручную.

Нам на помощь приходит Rest Api.

Переходим сразу к делу:

  1. Проверяем свой сайт, чтобы всё работало. Качаем плагин miniOrange API Authentication. Открываем его, выбираем Basic Authentication Method, на следующем шаге нам доступен Username & Password with Base64 Encoding, нажимаем «Далее». И тестируем, нажав на «Test Configuration», не забываем, что у вас должен быть верно написан пароль. Если у вас есть записи — они отображаться в JSON формате.
  2. Настраиваем данные. Итак, нам нужно передать наши данные на сервер в определенном формате — JSON. Ничего сложного в нём нет. Экранируем все кавычки. Вот пример:

Title — название нашей записи.

Content — непосредственно текст записи. Здесь экранируем все кавычки, ставим теги и т.д.

Slug — url нашей записи

Tags — тэги при необходимости (я не ставлю).

Status — публикуем сразу или пока отправляем в черновик.

Categories — числовой индификатор вашей категории. Чтобы узнать его — переходим в «Рубрики». Выбираем нужную и нажимаем «Изменить». В адресной строке вы увидите «term.php?taxonomy=category&tag_ID=3». ID — это и есть этот индификатор.

Excerpt — описание (текст в дексрипшен).

Media — картинка.

Как видите, ничего сложного нет.

3. Если используете сторонний софт, например Zennoposter, то перед отправкой запроса конвертируем логин пароль C#

string str = project.Variables[«login_pass_64»].Value;
return Convert.ToBase64String(Encoding.UTF8.GetBytes(str));

Предварительно в переменную login_pass_64 ложим наши данные a формате логин:пароль

Чтобы не грузить сервер — отправляйте 1 запись в секунду.

За час сможете опубликовать 3600 записей.

А сколько бы это заняло в ручную?)