我正在与一个希望从ExpressionEngine迁移到WordPress的客户合作。我有一个EE模板,它应该(而且似乎)生成一个WP XML导入文件。
但是,当我将文件导入到新的WP安装中时,只导入最后一个条目。与该条目相关的所有内容都是正确的,但它跳过了之前的数百篇帖子。
这是我的EE模板代码。我是否缺少一些WP语法
<?xml version="1.0" encoding="UTF-8" ?>
<!-- This is a WordPress eXtended RSS file generated by WordPress as an export of your site. -->
<!-- It contains information about your site\'s posts, pages, comments, categories, and other content. -->
<!-- You may use this file to transfer that content from one site to another. -->
<!-- This file is not intended to serve as a complete backup of your site. -->
<!-- To import this information into a WordPress site follow these steps: -->
<!-- 1. Log in to that site as an administrator. -->
<!-- 2. Go to Tools: Import in the WordPress admin panel. -->
<!-- 3. Install the "WordPress" importer from the list. -->
<!-- 4. Activate & Run Importer. -->
<!-- 5. Upload this file using the form provided on that page. -->
<!-- 6. You will first be asked to map the authors in this export file to users -->
<!-- on the site. For each author, you may choose to map to an -->
<!-- existing user on the site or to create a new user. -->
<!-- 7. WordPress will then import each of the posts, pages, comments, categories, etc. -->
<!-- contained in this file into your site. -->
<!-- generator="WordPress/3.3.2" created="2012-06-25 23:09" -->
<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>
<title>{site_name}</title>
<link>{site_url}</link>
<description></description>
<pubDate></pubDate>
<language>en</language>
<wp:wxr_version>1.1</wp:wxr_version>
<wp:base_site_url>http://domain.com/</wp:base_site_url>
<wp:base_blog_url>http://domain.com/</wp:base_blog_url>
<generator>http://wordpress.org/?v=3.3.2</generator>
{exp:channel:entries {if segment_3 != ""}channel="{segment_3}"{/if} orderby="date" sort="desc" limit="500" rdf="off" }
<item>
<title>{exp:xml_encode}{title}{/exp:xml_encode}</title>
<link></link>
<pubDate>{entry_date format="%r"}</pubDate>
<dc:creator><![CDATA[{author}]]></dc:creator>
<guid isPermaLink="false">http://domain.com/?p={entry_id}</guid>
<description></description>
<excerpt:encoded><![CDATA[{summary}]]></excerpt:encoded>
<content:encoded><![CDATA[{body}
]]></content:encoded>
{categories}
<category domain="category" nicename="{category_url_title}"><![CDATA[{category_name}]]></category>
{/categories}
<wp:post_type>post</wp:post_type>
<wp:post_id></wp:post_id>
<wp:post_date>{entry_date format="%Y-%m-%d %H:%i:%s"}</wp:post_date>
<wp:post_date_gmt>{gmt_date format="%Y-%m-%d %H:%i:%s"}</wp:post_date_gmt>
<wp:comment_status>open</wp:comment_status>
<wp:ping_status>open</wp:ping_status>
<wp:post_name>{url_title}</wp:post_name>
<wp:status>{if status == "open"}publish{if:elseif status == "review"}pending{if:elseif status == "closed"}private{if:elseif status == "draft"}draft{if:else}publish{/if}</wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_password></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<wp:postmeta>
<wp:meta_key>_edit_last</wp:meta_key>
<wp:meta_value><![CDATA[1]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key>_su_rich_snippet_type</wp:meta_key>
<wp:meta_value><![CDATA[none]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key>_encloseme</wp:meta_key>
<wp:meta_value><![CDATA[1]]></wp:meta_value>
</wp:postmeta>
</item>
{/exp:channel:entries}
</channel>
</rss>
最合适的回答,由SO网友:Ty Morton 整理而成
我找到了答案。按照XML文件的呈现方式,项目结束标记和下一个项目的开始标记之间没有换行符(</item><item>
).
这通过了所有验证测试,但WP无法正确处理。我添加了换行符,一切正常。
感谢大家的努力!
泰