Какой формат требуется для импорта записей в Wordpress?

20 янв. 2013 г., 19:45:19
Просмотры: 13.8K
Голосов: 7

У меня есть несколько записей в файле Microsoft Excel (.csv/.xls). Мне нужно узнать правильный формат файла для импорта в Wordpress.com.

Примечание: Мне не нужна помощь в преобразовании CSV в XML. Мне просто нужно знать требуемый формат для загрузки в WordPress. Этот же подход должен работать и для блогов на .org хостинге.

Сейчас я извлек XML-файл из WordPress с необходимыми заголовками. Я считаю, что мне нужно только заполнить приведенный ниже XML-код для каждой новой записи.

Какие поля можно исключить? Какие поля можно оставить пустыми? Пример успешно импортированного файла и кода был бы полезен.

Я попробовал два импорта в WordPress, которые были подтверждены как успешные, но я не вижу ни одной записи? Поэтому подозреваю, что что-то не так с моим файлом.

<Item>     
      <title>   Заголовок моей записи   </title>
      <link>    URL моей записи </link>
      <pubDate> Вс, 01 Янв 2012 00:00:00 +0000 </pubDate>
      <dc:creator>  Автор  </dc:creator>
      <guid isPermaLink="false">    URL записи в WP  </guid isPermaLink="false">
      <description> Описание моей записи </description>
      <content:encoded> Содержание моей записи </content:encoded>
      <excerpt:encoded> Краткое описание записи </excerpt:encoded>
      <wp:post_id>  ID моей записи  </wp:post_id>
      <wp:post_date>    2012-01-01 00:00:00 </wp:post_date>
      <wp:post_date_gmt>    2012-01-01 00:00:00 </wp:post_date_gmt>
      <wp:comment_status>   Open    </wp:comment_status>
      <wp:ping_status>  Open    </wp:ping_status>
      <wp:post_name>    Название моей записи   </wp:post_name>
      <wp:status>   inherit </wp:status>
      <wp:post_parent>  ID родительской записи   </wp:post_parent>
      <wp:menu_order>   0   </wp:menu_order>
      <wp:post_type>    attachment  </wp:post_type>
      <wp:post_password>        </wp:post_password>
      <wp:is_sticky>    0   </wp:is_sticky>
      <wp:attachment_url>       </wp:attachment_url>
 </Item>        
1
Комментарии

Этот вопрос не является специфичным для wordpress.com. Импортер XML-файлов одинаков как в среде wordpress.com, так и в самостоятельной установке WordPress. Структура XML-файла, импортируемого на сайт wordpress.com, точно такая же, как и структура XML-файла для импорта в самостоятельную установку WordPress.

Chip Bennett Chip Bennett
20 янв. 2013 г. 20:17:56
Все ответы на вопрос 2
0

Вот файл импорта, в котором используется только несколько настроек (хотя, возможно, можно исключить еще больше), который успешно импортирует три записи (проверено на WP 4.2.2):

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"
    xmlns:excerpt="http://wordpress.org/export/1.2/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.2/" >

    <channel>
        <wp:wxr_version>1.2</wp:wxr_version>

        <item>
            <title>Мой первый пост</title>
            <dc:creator><![CDATA[admin]]></dc:creator>
            <description></description>
            <content:encoded><![CDATA[
<p>Добро пожаловать в мой первый пост!</p>
]]></content:encoded>
            <excerpt:encoded><![CDATA[]]></excerpt:encoded>
            <wp:post_date>2015-03-01 16:20:00</wp:post_date>
            <wp:status>publish</wp:status>
            <wp:post_type>post</wp:post_type>
        </item>

        <item>
            <title>Мой второй пост</title>
            <dc:creator><![CDATA[admin]]></dc:creator>
            <description></description>
            <content:encoded><![CDATA[
<p>Добро пожаловать во мой второй пост!</p>
]]></content:encoded>
            <excerpt:encoded><![CDATA[]]></excerpt:encoded>
            <wp:post_date>2015-03-02 16:20:00</wp:post_date>
            <wp:status>publish</wp:status>
            <wp:post_type>post</wp:post_type>
        </item>

        <item>
            <title>Мой третий пост</title>
            <dc:creator><![CDATA[admin]]></dc:creator>
            <description></description>
            <content:encoded><![CDATA[
<p>Добро пожаловать в мой третий пост!</p>
]]></content:encoded>
            <excerpt:encoded><![CDATA[]]></excerpt:encoded>
            <wp:post_date>2015-03-03 16:20:00</wp:post_date>
            <wp:status>publish</wp:status>
            <wp:post_type>post</wp:post_type>
        </item>

    </channel>
</rss>
12 июл. 2015 г. 02:37:19
3

Если вам нужен заведомо рабочий пример XML-файла для импорта в WordPress, попробуйте XML-файл с тестовыми данными Theme Unit Test.

Если код в вашем Excel-файле правильно сформирован, вы также можете рассмотреть другие варианты, такие как импорт (X)HTML.

Чтобы увидеть, как WordPress фактически формирует свой "Extended RSS" (XML) файл, посмотрите wp-admin/includes/export.php.

Чтобы понять, как WordPress импортирует данные, изучите wp-admin/includes/class-wp-import.php, а также плагин импорта, а именно файлы wordpress-importer.php и parsers.php.

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

20 янв. 2013 г. 20:22:25
Комментарии

Спасибо. Все ли поля обязательны? И как обрабатываются закодированные поля? <excerpt:encoded><![CDATA[Лодки и отражения, Королевский яхт-клуб Перта]]></excerpt:encoded>

sparknlaunch sparknlaunch
20 янв. 2013 г. 20:25:17

См. обновленный ответ. Я не совсем уверен, какие данные следует считать обязательными. Проверьте приложенные файлы импорта/экспорта для получения дополнительной информации.

Chip Bennett Chip Bennett
20 янв. 2013 г. 20:34:51

Предложил правку, но поскольку она была анонимной, оставлю здесь тоже комментарий — реальные импортеры — это два php-файла здесь: http://plugins.svn.wordpress.org/wordpress-importer/trunk/

Louis St-Amour Louis St-Amour
25 сент. 2014 г. 23:32:41