2013-08-27 3 views
1

Мне нужно создать XML с содержимым старого сайта для импорта в Wordpress с официальным Wordpress Importer Plugin. Основываясь на XML exported by Wordpress, я могу создать совместимый экспорт экспорта моего контента. Этот экспорт выглядит следующим образом:XML-формат для импорта содержимого в Wordpress

<?xml version="1.0" encoding="UTF-8" ?> 
<rss version="2.0" ...> 
<!-- xml header based on Wordpress export --> 

<?php foreach($posts as $post): ?> 
    <item> 
     <title><?php echo $post['title']; ?></title>    
     <pubDate><?php echo date('r', strtotime($post['date'])); ?></pubDate> 
     <dc:creator>admin</dc:creator>   
     <description></description> 
     <content:encoded><![CDATA[<?php echo $post['content']; ?>]]></content:encoded> 
     <excerpt:encoded><![CDATA[<?php echo $post['excerpt']; ?>]]></excerpt:encoded>   
     <wp:post_date><?php echo $post['date']; ?></wp:post_date> 
     <wp:post_date_gmt><?php echo $post['date']; ?></wp:post_date_gmt> 
     <wp:comment_status>open</wp:comment_status> 
     <wp:ping_status>open</wp:ping_status>   
     <wp:status>publish</wp:status> 
     <wp:post_parent>0</wp:post_parent> 
     <wp:menu_order>0</wp:menu_order> 
     <wp:post_type>post</wp:post_type> 
     <wp:post_password></wp:post_password> 
     <wp:is_sticky>0</wp:is_sticky> 
     <category><![CDATA[<?php echo $post['category']; ?>]]></category> 
     <category domain="category" nicename="<?php echo StringToSlug::gen($post['category']); ?>"><![CDATA[<?php echo $post['category']; ?>]]></category> 
     <wp:postmeta> 
      <wp:meta_key>_edit_last</wp:meta_key> 
      <wp:meta_value><![CDATA[1]]></wp:meta_value> 
     </wp:postmeta> 

    </item> 
<?php endif; ?> 

Wordpress импортирует эту скважину. Теперь я хочу добавить миниатюру к каждому сообщению. Я только найти примеры с идентификатором изображения почтового идентификатора, как эти, например:

<wp:postmeta> 
    <wp:meta_key>_thumbnail_id</wp:meta_key> 
    <wp:meta_value><![CDATA[43]]></wp:meta_value> 
</wp:postmeta> 

Конечно, это не работает для меня, потому что содержание не принадлежит к другому Wordpress сайта. Как я могу справиться с этим? Есть ли другой способ импортировать миниатюру сообщения? Или есть другой способ импортировать сообщения для другого контента, отличного от Wordpress (и не для Blogger/Drupal/Joomla)?

ответ

0

позволяет сказать, что у вас есть следующие в коде импорта вашего Поста:

<wp:postmeta> 
    <wp:meta_key>_thumbnail_id</wp:meta_key> 
    <wp:meta_value><![CDATA[43]]></wp:meta_value> 
</wp:postmeta> 

, что обычно означает, что эта запись типа пост ссылается другой рекорд крепления типа, так что позволяет сказать, что у вас есть запись с идентификатором # вам нужно добавить еще один пункт где-то с <wp:post_type>attachment</wp:post_type> и <wp:post_parent>5</wp:post_parent> так:

<item> 
    <title>imagefile1</title> 
    <link>http://www.mysite.org/yourpostpermalink/attachment/imagefile1/</link> 
    <pubDate>Fri, 06 Dec 2013 10:24:03 +0000</pubDate> 
    <dc:creator>you</dc:creator> 
    <guid isPermaLink="false">http://www.mysite.com/wp-content/uploads/imagefile1.png</guid> 
    <description></description> 
    <content:encoded><![CDATA[]]></content:encoded> 
    <excerpt:encoded><![CDATA[]]></excerpt:encoded> 
    <wp:post_id>43</wp:post_id> 
    <wp:post_date>2013-12-06 11:24:03</wp:post_date> 
    <wp:post_date_gmt>2013-12-06 11:24:03</wp:post_date_gmt> 
    <wp:comment_status>closed</wp:comment_status> 
    <wp:ping_status>open</wp:ping_status> 
    <wp:post_name>imagefile1</wp:post_name> 
    <wp:status>inherit</wp:status> 
    <wp:post_parent>5</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>https://www.mysite.com/wp-content/uploads/imagefile1.png</wp:attachment_url> 
    <wp:postmeta> 
     <wp:meta_key>_wp_attached_file</wp:meta_key> 
     <wp:meta_value><![CDATA[imagefile1.png]]></wp:meta_value> 
    </wp:postmeta> 

</item> 

я надеюсь, что это помогает

+0

Это интересно. Я попробую это скоро! Благодаря! – hugofcampos

+0

Также вам необходимо заказать вложения вложений в верхние и конечные позиции после этого, таким образом миниатюрное изображение будет существовать в новом Wordpress db, и оно сможет ссылаться на него при импорте сообщения. – Aous

Смежные вопросы