WordPress WXR-Spezifikation

Lesezeit: 4 Minuten

Ich versuche, eine Spezifikation für den WordPress-WXR-Import-/Exportstandard zu finden, und ich kann keine offizielle Dokumentation von WordPress zum Standard finden.

Kennt jemand eine offizielle Ressource, die mir genau sagen könnte, wie man eine WXR-Datei erstellt, damit sie automatisch entweder in WordPress.com oder selbst gehostete WordPress-Sites importiert wird?

Ich versuche speziell, ein WXR-Exportsystem für ein vorhandenes CMS zu erstellen, damit Benutzer einfach zu WordPress wechseln können.

WordPress WXR Spezifikation
Cord Blomquist

Ich habe diese Frage John O’Nolan, einem WordPress-Core-Entwickler, gestellt, der meine Frage an Core-Committer Aaron Jorbin weitergeleitet hat. O’Nolan antwortete, indem er sagte (ich paraphrasiere), dass es keine offizielle Dokumentation zum WXR-Standard gibt, aber dass das Reverse Engineering eines WXR-Exports mir alle Informationen geben sollte, die ich brauche.

O’Nolan bemerkte auch, dass Daten, die komplexer sind als der Inhalt von Blogposts, wahrscheinlich am besten durch eine Datenbankkonvertierung/-migration und nicht durch einen Import behandelt werden. Ich stimme hier eher zu.

Ich fand diese beiden Links hilfreich bei meinen Bemühungen, den WXR-Standard zurückzuentwickeln:

http://ipggi.wordpress.com/2011/03/16/the-wordpress-extended-rss-wxr-exportimport-xml-document-format-decoded-and-explained/

http://olalindberg.com/2008/write-your-own-wxr-file-to-migrate-custom-cms-to-wordpress/

Der letztere Link befasst sich speziell mit Anhängen, was für mein aktuelles Projekt von entscheidender Bedeutung ist.

Ich hoffe, das hilft allen anderen, die sich für WXR interessieren.

1647308347 686 WordPress WXR Spezifikation
Michael

Für diejenigen ohne WordPress-Export, die dennoch eine WXR-Datei erstellen müssen, der Code für den Exporteur befindet sich auf dem Trac-Server der WordPress-Plugins. Auszug unten, aus der <rss> Knoten zu einem Paarobjekt foreach Schleifen:

<?php the_generator( 'export' ); ?>
<rss version="2.0"
    xmlns:excerpt="http://wordpress.org/export/<?php echo WXR_VERSION; ?>/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/<?php echo WXR_VERSION; ?>/"
>

<channel>
    <title><?php bloginfo_rss( 'name' ); ?></title>
    <link><?php bloginfo_rss( 'url' ); ?></link>
    <description><?php bloginfo_rss( 'description' ); ?></description>
    <pubDate><?php echo date( 'D, d M Y H:i:s +0000' ); ?></pubDate>
    <language><?php bloginfo_rss( 'language' ); ?></language>
    <wp:wxr_version><?php echo WXR_VERSION; ?></wp:wxr_version>
    <wp:base_site_url><?php echo wxr_site_url(); ?></wp:base_site_url>
    <wp:base_blog_url><?php bloginfo_rss( 'url' ); ?></wp:base_blog_url>

<?php wxr_authors_list( $post_ids ); ?>

<?php foreach ( $cats as $c ) : ?>
    <wp:category>
        <wp:term_id><?php echo intval( $c->term_id ); ?></wp:term_id>
        <wp:category_nicename><?php echo wxr_cdata( $c->slug ); ?></wp:category_nicename>
        <wp:category_parent><?php echo wxr_cdata( $c->parent ? $cats[$c->parent]->slug : '' ); ?></wp:category_parent>
        <?php wxr_cat_name( $c );
        wxr_category_description( $c );
        wxr_term_meta( $c ); ?>
    </wp:category>
<?php endforeach; ?>
<?php foreach ( $tags as $t ) : ?>
    <wp:tag>
        <wp:term_id><?php echo intval( $t->term_id ); ?></wp:term_id>
        <wp:tag_slug><?php echo wxr_cdata( $t->slug ); ?></wp:tag_slug>
        <?php wxr_tag_name( $t );
        wxr_tag_description( $t );
        wxr_term_meta( $t ); ?>
    </wp:tag>
<?php endforeach; ?>
<?php foreach ( $terms as $t ) : ?>
    <wp:term>
        <wp:term_id><?php echo wxr_cdata( $t->term_id ); ?></wp:term_id>
        <wp:term_taxonomy><?php echo wxr_cdata( $t->taxonomy ); ?></wp:term_taxonomy>
        <wp:term_slug><?php echo wxr_cdata( $t->slug ); ?></wp:term_slug>
        <wp:term_parent><?php echo wxr_cdata( $t->parent ? $terms[$t->parent]->slug : '' ); ?></wp:term_parent>
        <?php wxr_term_name( $t );
        wxr_term_description( $t );
        wxr_term_meta( $t ); ?>
    </wp:term>
<?php endforeach; ?>

1003590cookie-checkWordPress WXR-Spezifikation

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy