Формируем XML файл для массового постинга статей в Wordpress c помощью плагина WordPress Importer.

sergej_g

Client
Регистрация
29.11.2011
Сообщения
152
Реакции
127
Баллы
43
Доброе время суток. Приветствую всех читателей этого форума.

В своей статье я поведаю о том, как можно с помощью ZennoPoster облегчить загрузку большого количества статей на сайт на движке Wordpress.

Для этого в Wordpress есть плагин под названием wordpress-importer. Он работает с Wordpress версия движка до 4.6.6. Если у Вас установлен WP большей версии- этот плагин можно не устанавливать, а пользоваться функциями импорта по пути Инструменты-импорт- WordPress Запустить импорт

плагин.jpg

Этот плагин позволяет импортировать в Wordpress записи, страницы, комментарии, произвольные поля,рубрики и метки посредством специального файла формата eXtended RSS который также называется WXR файл.

Для начала рассмотрим структуру этого файла.

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"
xmlns:excerpt="http://wordpress.org/export/1.1/excerpt/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:wp="http://wordpress.org/export/1.1/"
>
<channel>
<wp:wxr_version>1.1</wp:wxr_version>
<item>
<title>Тут заголовок записи</title>
<dc:creator>тут автор записи</dc:creator>
<description></description>
<content:encoded><![CDATA[Тут текст записи]]></content:encoded>
<wp:post_id>Тут номер записи</wp:post_id>
<wp:comment_status>Открыты или закрыты комментарии к записи</wp:comment_status>
<wp:ping_status>open</wp:ping_status>
<wp:status>Тут статус записи</wp:status>
<wp:post_type>Здесь тип элемента</wp:post_type>
<category domain="category" nicename="Название категории"><![CDATA[Название категории]]></category>
</item>
</channel>
</rss>

Информация помещенная между тэгами <title>..</title> говорит сама за себя.Там размещается Заголовок записи.Между тэгами <dc:creator>....</dc:creator>
пишем имя(пвсевдоним) автора записи. Между тэгами <content:encoded><![CDATA[....]]></content:encoded> размещаем текст записи.
Между тэгами <wp:post_id>....</wp:post_id> стоит номер записи.Между тэгами <wp:comment_status>......</wp:comment_status> ставим разрешение или запрет
на комментирование записи.Между тэгами <wp:status>....</wp:status> ставим статус записи (публиковать сразу или размещать как черновик).
Эти теги <category domain="category" nicename="Название категории"><![CDATA[Название категории]]></category> показывают в какой категории надо разместить нашу запись.

Ниже рассмотрим шаблон для формирования WXR файла. Исходным материалом будут файлы с заголовком записи, адреса картинки и текста записи. Их я заготовил в качестве
образца заранее, чтобы показать как работает наш шаблон.

В шаблоне задействованы кубики для работы с файлами (взять текст и положить в переменную), записать текст и указать название записываемого файла.

шаблон-1.jpg

Здесь содержимое первого кубика записать файл:

<item>
<title>{-Variable.import_title-}</title>
<dc:creator>admin</dc:creator>
<description></description>
<content:encoded><![CDATA[<img src="http://{-Variable.import_jpg-}" style="width: 200px; height: 150px; left: 260px; top: 0px;">
<noindex>
{-Variable.import_txt-}
</noindex>
]]></content:encoded>
<wp:post_id>{-Variable.i-}</wp:post_id>
<wp:comment_status>open</wp:comment_status>
<wp:ping_status>open</wp:ping_status>
<wp:status>draft</wp:status>
<wp:post_type>post</wp:post_type>
<category domain="category" nicename="Спорт"><![CDATA[Спорт]]></category>
</item>

шаблон-2.jpg

Здесь содержимое второго кубика записать файл:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"
xmlns:excerpt="http://wordpress.org/export/1.1/excerpt/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:wp="http://wordpress.org/export/1.1/"
>
<channel>
<wp:wxr_version>1.1</wp:wxr_version>
{-Variable.import-}
</channel>
</rss>

шаблон-3.jpg

После выполнения шаблона в каталоге с проектом будет лежать файл import to wordpress.xml, который надо скормить нашему плагину в Wordpress.

Ниже на скриншотах можно посмотреть что у нас получилось.

Это записи со статусом черновик в админке блога.

блог-1.jpg

Вот так выглядит публикуемая запись.

блог-2.jpg

Upd. По образцу и подобию можно настроить отложенный постинг в Wordpress.

<wp:post_date>2017-05-26 04:52:56</wp:post_date>
<wp:post_date_gmt>2017-05-26 04:52:56</wp:post_date_gmt>
<wp:status>future</wp:status>

Шаблон прилагается:
 
Номер конкурса статей
  1. Седьмой конкурс статей
Тема статьи
  1. Другое

Вложения

Последнее редактирование:
Можно узнать чем такой импорт лучше/проще/быстрее чем прямая заливка в базу данных?
P.S. Хотя, кто знает, возможно WP после импорта файла еще создает какие-то дополнительные таблицы - из-за чего прямая заливка может не поехать... Собственно из-за этого и интересуюсь.
 
  • Спасибо
Реакции: SHoro
Миниатюра кривовато льётся, дискомфорт.
 

Вложения

  • Спасибо
Реакции: teodocomo
Можно узнать чем такой импорт лучше/проще/быстрее чем прямая заливка в базу данных?
P.S. Хотя, кто знает, возможно WP после импорта файла еще создает какие-то дополнительные таблицы - из-за чего прямая заливка может не поехать... Собственно из-за этого и интересуюсь.

Можно узнать как импортировать прямо в базу с помощью ZP ? Имхо. В моем случае проще некуда.
 
ещё было бы классно, если бы кто выложил шаблон генерации файла импорта для блогспот (может у вас есть намётки). пробовал как-то разобраться, но только добавляешь лишнюю позицию по аналогии к экспортированному блогу, так принимать не хочет
 
Можно узнать как импортировать прямо в базу с помощью ZP ? Имхо. В моем случае проще некуда.
Можно так же, как у Вас, формировать файл, но не XML, а SQL с запросами для таблицы и импортировать через phpMyAdmin.

P.S.: Спасибо за статью, может пригодиться
 
Последнее редактирование модератором:
  • Спасибо
Реакции: sergej_g
ещё было бы классно, если бы кто выложил шаблон генерации файла импорта для блогспот (может у вас есть намётки). пробовал как-то разобраться, но только добавляешь лишнюю позицию по аналогии к экспортированному блогу, так принимать не хочет

Наметок нет. Да, там xml довольно мудреный...
 
Сергей, а скорость заливки какая примерно таким способом? В час/день..

Скорость зависит от Вашего интернета на передачу и размера передаваемого файла (хостеры ставят ограничение на размер передаваемого файла ).
Сам за одну загрузку размещал у себя 100 записей.
 
  • Спасибо
Реакции: Alex Mind
Можно узнать как импортировать прямо в базу с помощью ZP ? Имхо. В моем случае проще некуда.
Самый простой запрос
SQL:
Развернуть Свернуть Копировать
INSERT INTO table(field,field,field) VALUES (val,val,val) ON DUPLICATE KEY UPDATE val=VALUES(val),val=VALUES(val),val=VALUES(val)
В Зеннопостере для этого есть экшин работа с Базами Данных (с коробки так сказать).
Не подходит данный способ (через базу) только тогда, когда хостинг не позволяет подключаться к базе удаленно - и здесь уже будет наверно лучше метод описанный в статье.
 
  • Спасибо
Реакции: Alex Mind и sergej_g
так а где пруф или история успеха то? С таким успехом можно выкладывать любой свой микро шаблон с небольшим описанием..Регер аков, регер ящиков, постеры на какой нибудь рес - для доров.. Как бы к шабу или описанию нет претензий, есть непонимание - почему это в конкурсных статьях ..
Да и базаг правильно сказал - намного шибче сразу в базу писать
 
  • Спасибо
Реакции: zennoX
Думаю лучше сразу изучать MySQL - информация в WP хранится в MySQL.

В отношении WP-да. Но я для себя решил познакомиться с sqlite. Так сказать для локального сохранения информации.
 
так а где пруф или история успеха то? С таким успехом можно выкладывать любой свой микро шаблон с небольшим описанием..Регер аков, регер ящиков, постеры на какой нибудь рес - для доров.. Как бы к шабу или описанию нет претензий, есть непонимание - почему это в конкурсных статьях ..
Да и базаг правильно сказал - намного шибче сразу в базу писать

Читаем в шапке внимательно условия конкурса.

О чем можно написать?

Обо всем, что может быть интересно другим пользователям. Желательно статьи сопровождать шаблонами, по которым другие пользователи могли бы научиться чему-то новому. Можно посмотреть о чем писали раньше, что интересно пользователям, и предложить что-то новое, но схожее по тематике.

Главное условие - статьи должны быть напрямую связаны с программой ZennoPoster:
  • Способы заработка
  • Тонкости использования программы
  • Нестандартные хаки
  • Интересные сниппеты
  • Истории успеха с полезной информацией
  • Предложите свой вариант

Вы тоже можете выложить свой шаблон с микро-макси описанием. Время еще есть до 19 мая.
 
  • Спасибо
Реакции: dima8121 и Juniorcpa
очень много доров именно так сделал ) до сих пор 3ка зенно на одном ноуте стоит, чтоб генерить эти файлы импорта для вп (на ней быстрее почему-то чем на 5ке получается). единственный минус это если хостинг говно, то приходится разбивать руками на несколько файлов, и чтоб набить много доменов по 30-50к постов, уходит много времени на импорт именно. но плюс по сравнению с импортом в базу - категории сами создаются и теги.

плюс у меня еще берется 10 файлов в которых как бы шаблон поста, чтоб разные были они по структуре (разное кол-во абзацев, картинок, таблиц и тп)

ну и плюс у меня в последнее время проблема с контентом, раньше влетала мешанина из напарсенного xparser'ом тематического текста на ура. сейчас че-то не прокатывает.
 
  • Спасибо
Реакции: Andrew Shell и sergej_g
очень много доров именно так сделал ) . но плюс по сравнению с импортом в базу - категории сами создаются и теги. плюс у меня еще берется 10 файлов в которых как бы шаблон поста, чтоб разные были они по структуре (разное кол-во абзацев, картинок, таблиц и тп)

При желании в этом файле импорта можно сделать отложенный постинг, а также импорт комментариев.
 
Как, если не секрет?

Не секрет ;-). В гугле есть все.
Вставить такие поля. Это пример.

<wp:post_date>2017-05-26 04:52:56</wp:post_date>
<wp:post_date_gmt>2017-05-26 04:52:56</wp:post_date_gmt>
<wp:status>future</wp:status>
 
  • Спасибо
Реакции: Valiksim
Спасибо, много интересных.
Что по поводу экспорта импорта в wordpress, то лучше использовать стандартную структуру.
 
Как я понял из первого поста тут формируют xml файл именно под этот плагин ?
В Wordpress есть стандартный экспорт - импорт, без всяких плагинов
 
А как решен вопрос с миниатюрами к посту.
Из структуры файла для импорта я не увидел строку для миниатюры, которая выводиться на Главной и в категориях к постам в качестве Анонса.
С миниатюрой все таки по симпатичней будет выглядить статья в Анонсах.
Шаблон только скачал еще не рассматривал, если этот вопрос там решен, то прошу прошение, а если нет, то можно что-то рассказать по этому поводу.
Благодарю.
 

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