导入附件-未附加到POST_PARENT

时间:2013-09-19 作者:Nathan

我已经为一个客户建立了一个开发站点,我们正在为他们的现有站点进行彻底的改造。

我想做的一件事是导入他们现有的所有新闻帖子,并将所有附加到这些帖子上的图片带过去。我已成功导出附件WP Attachment export插件。xml文件看起来一切正常,并且包含了post\\u parent的正确值。

当我尝试使用标准Wordpress导入器导入xml文件时,图像被导入到媒体库中,并且与之相关的各种数据(除了)所有post\\u父值都重置为0,这意味着它们不再附加到任何内容。

这里发生了什么,是否有办法正确导入post\\u父级?现有站点有超过1000个媒体文件,因此我显然不想手动重新附加它们。

编辑下面是xml中一个附件的示例。我已经xxxx出了一些文件名/标题。

<item>
    <title>XXXXXXXXXX</title>
    <link>http://www.xxxxxxx.com/news/xxxxxxx/attachment/xxxxxxx/</link>
    <pubDate>Wed, 18 Sep 2013 04:00:21 +0000</pubDate>
    <dc:creator>Emma</dc:creator>
    <guid isPermaLink="false">http://www.xxxxxxx.com/wp-content/uploads/2013/09/xxxxxxx.jpg</guid>
    <description></description>
    <content:encoded><![CDATA[]]></content:encoded>
    <excerpt:encoded><![CDATA[]]></excerpt:encoded>
    <wp:post_id>3880</wp:post_id>
    <wp:post_date>2013-09-18 13:30:21</wp:post_date>
    <wp:post_date_gmt>2013-09-18 04:00:21</wp:post_date_gmt>
    <wp:comment_status>closed</wp:comment_status>
    <wp:ping_status>closed</wp:ping_status>
    <wp:post_name>xxxxxxx</wp:post_name>
    <wp:status>inherit</wp:status>
    <wp:post_parent>3874</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>http://www.xxxxxxx.com/wp-content/uploads/2013/09/xxxxxxx.jpg</wp:attachment_url>
    <wp:postmeta>
        <wp:meta_key>_wp_attached_file</wp:meta_key>
        <wp:meta_value><![CDATA[2013/09/xxxxxxx.jpg]]></wp:meta_value>
    </wp:postmeta>
    <wp:postmeta>
        <wp:meta_key>_wp_attachment_metadata</wp:meta_key>
        <wp:meta_value><![CDATA[a:5:{s:5:"width";i:500;s:6:"height";i:435;s:4:"file";s:30:"2013/09/xxxxxxx.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:30:"xxxxxxx.jpg";s:5:"width";i:220;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:30:"xxxxxxx.jpg";s:5:"width";i:340;s:6:"height";i:295;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:30:"xxxxxxx.jpg";s:5:"width";i:402;s:6:"height";i:350;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}]]></wp:meta_value>
    </wp:postmeta>
</item> 
干杯。

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

我认为单独导入附件(这在本机导出中是不可能的)正是您的问题的原因。导入器插件具有以下代码:

if ( $post_parent ) { 
    // if we already know the parent, map it to the new local ID
    if ( isset( $this->processed_posts[$post_parent] ) ) {    
        $post_parent = $this->processed_posts[$post_parent];
    // otherwise record the parent for later
    } else {
        $this->post_orphans[intval($post[\'post_id\'])] = $post_parent;
        $post_parent = 0;
    }
}
对于孤立项还有更多的处理,但简而言之,似乎只有相同导入中的帖子才被考虑用于父级。这是有意义的,因为导出时的ID不能保证与导入时的ID完全相同。

SO网友:Gino H. Caycho

检查图像的大小是否太大,我在导入时遇到问题,经过多次查看和导入后,我意识到停止导入的图像重约16mb,我猜超出了服务器上的最大执行时间或类似时间。

结束

相关推荐

有了WordPress Importer,为什么我不能导入包含多维数组的POST meta,其中该数组的值包含换行符?

问题是WordPress Importer, 为什么我不能导入包含多维数组的post meta,其中数组的值包含换行符?是否有一种变通方法可以保存我的数据以使其正常工作?在将数据保存到post meta之前,我是否可以在我的卫生过程中采取不同的格式?背景信息我创建了一个WordPress插件,它提供了一个布局生成器。用户可以使用给定的某些“元素”(即滑块、一组列、内容输入等)为自定义布局构建内容,然后将该自定义布局应用于其站点上的静态页面。最初,我的目标是让所有自定义布局与WordPress的导入/导出工