{"id":41172,"date":"2016-01-07T12:32:55","date_gmt":"2016-01-07T12:32:55","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/xml-import\/"},"modified":"2016-03-01T21:56:56","modified_gmt":"2016-03-01T21:56:56","slug":"xml-import","status":"publish","type":"plugin","link":"https:\/\/tah.wordpress.org\/plugins\/xml-import\/","author":14747378,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.4","stable_tag":"trunk","tested":"4.4.34","requires":"4.0","requires_php":"","requires_plugins":"","header_name":"XML Import","header_author":"Simon Dirlik","header_description":"","assets_banners_color":"","last_updated":"2016-03-01 21:56:56","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_s-xclick&hosted_button_id=KAUYDU54G6Z5S","header_plugin_uri":"http:\/\/designs.dirlik.nl","header_author_uri":"http:\/\/designs.dirlik.nl","rating":1,"author_block_rating":0,"active_installs":20,"downloads":7559,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0.4":"<p>fixed some minor problems<\/p>","1.0.3":"<p>plugin is now ready for translation<\/p>","1.0.2":"<p>fixed some bugs, changed some button text for clarity<\/p>","1.0.1":"<p>fixed some bugs and added some funcionality<\/p>","1.0":"<p>this is the first version<\/p>"},"ratings":{"1":"1","2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Coming soon"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3989,87,9051,748],"plugin_category":[59],"plugin_contributors":[86007],"plugin_business_model":[],"class_list":["post-41172","plugin","type-plugin","status-publish","hentry","plugin_tags-custom-post","plugin_tags-import","plugin_tags-meta-fields","plugin_tags-xml","plugin_category-utilities-and-tools","plugin_contributors-dirlikdesigns","plugin_committers-dirlikdesigns"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/xml-import.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Easy to use XML feed importer with the ability to map feed items onto (custom) posts and their meta fields.<\/p>\n\n<h4>Usage Notes<\/h4>\n\n<ul>\n<li>The feeds are managed (added \/ edited \/ deleted) like normal posts.<\/li>\n<li>To import a new feed, you must first save the post with at least the title and URL fields filled in.\n\n<ul>\n<li>This is because the importer downloads a copy of the feed and works with that copy.<\/li>\n<li>If you try to import before the feed is saved, the importer has no copy to work with yet.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>Form explanation<\/h4>\n\n<ul>\n<li>Import\n\n<ul>\n<li>It's the first field in the form, but the last step.<\/li>\n<li>There is no cancel button, so once you click the 'import' button, you can only refresh (or move away from) the page to cancel the import.<\/li>\n<li>The import is done 10 feed items at a time, the progress is shown under the import button.<\/li>\n<li>The import sends ajax requests until the import is done at which point the spinner stops spinning and the progress message shows 'n posts imported'<\/li>\n<\/ul><\/li>\n<li>URL\n\n<ul>\n<li>the feed url<\/li>\n<\/ul><\/li>\n<li>Required Fields (optional)\n\n<ul>\n<li>comma separated list of (custom) post fields<\/li>\n<li>if a field in this list has no mapping, than the import will fail<\/li>\n<li>if the mapping of a field in this list turns out to be empty, than the corresponding feed item is skipped.<\/li>\n<\/ul><\/li>\n<li>Unique Fields (optional)\n\n<ul>\n<li>comma separated list of (custom) post fields<\/li>\n<li>unique fields are not implicitly required<\/li>\n<li>skips a feed item if a field with this value already exists.<\/li>\n<\/ul><\/li>\n<li>CSV delimiter (optional)\n\n<ul>\n<li>if this field is empty, the plugin assumes the URL links to a XML file<\/li>\n<li>if this field is non-empty, the plugin assumes the URL links to a CSV file, with the given value as the delimiter<\/li>\n<li>a CSV file will be converted to XML, so the further usage of the plugin remains the same.<\/li>\n<\/ul><\/li>\n<li>Select root\n\n<ul>\n<li>select the path to the items that should be mapped<\/li>\n<li>i.e. you want to import products into your woocommerce installation<\/li>\n<li>xml : &lt;products&gt; &lt;product&gt;&lt;\/product&gt; ... &lt;product&gt;&lt;\/product&gt; &lt;\/products&gt;<\/li>\n<li>then the root should be \/products\/product<\/li>\n<li>you can use the plus and minus buttons to go a level up or down<\/li>\n<li>the select boxes show the possible paths for a given level<\/li>\n<li>Click the 'Select' button to confirm the root<\/li>\n<li>The XML area should fill up with the first item that matches root.<\/li>\n<\/ul><\/li>\n<li>Select post field\n\n<ul>\n<li>the first select box shows the registered post types and Taxonomies.<\/li>\n<li>the second select box shows the corresponding fields. (Even columns like ID which you probably shouldn't set manually)<\/li>\n<li>many of the fields are always the same and correspond to the columns in the <code>wp_posts<\/code> table in the database, but the meta fields can differ.<\/li>\n<li>the plugin needs at least one existing object of the selected post type to find these meta fields.<\/li>\n<li>the meta fields are based on the first post of the selected post type it finds.<\/li>\n<\/ul><\/li>\n<li>Map\n\n<ul>\n<li>this shows the current mapping<\/li>\n<li>if you have selected a mapping, it can be removed with the 'x' at the right hand side<\/li>\n<li>if you are satisfied with the mappings, click 'Save map'<\/li>\n<\/ul><\/li>\n<li>XML\n\n<ul>\n<li>once you have selected a root, the first xml item at this path will be shown here.<\/li>\n<li>click anywhere on the XML to get the corresponding paths<\/li>\n<li>the selected path will appear above the colourful XML<\/li>\n<li>if the path contains attributes, they will appear as selectboxes<\/li>\n<li>if the desired path depends on a sibling in the XML, follow these instruction:<\/li>\n<li>some XML looks like this ..&lt;parent&gt; &lt;key&gt;name&lt;\/key&gt;&lt;value&gt;Dirlik&lt;value&gt;&lt;\/parent&gt; ...<\/li>\n<li>in this case, click on the value tag in the XML and the corresponding path appears: 'Assign path: ...\/parent\/value'<\/li>\n<li>now click on 'parent' in the path and 2 new selectboxes appear and an 'Add to attribute list' button<\/li>\n<li>in our example you would select 'key' in the first selectbox and 'name' in the second<\/li>\n<li>click 'Add to attribute list' and the path changes accordingly<\/li>\n<li>once you see the path you want, click the 'Add to map' button.<\/li>\n<li>The Map will now reflect that the path you chose is mapped om the selected post field.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>WARNING<\/h3>\n\n<p>This plugin is new and requires more testing. If you decide to use the plugin, please make a backup of your database first.\nOnce you click the <code>import<\/code> link, there is no cancel button, you can refresh (or move away from) the page to cancel the import.\nOn your first go, try a smaller feed to make sure you mapped it right.<\/p>\n\n<h3>TODO<\/h3>\n\n<ul>\n<li>add row actions<\/li>\n<li>define type of imported value (now images only work with _thumbnail_id meta value)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/xml-import<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Make sure the tmp folder is writable<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress<\/li>\n<li>A new menu item should appear named 'Feeds'<\/li>\n<\/ol>\n\n<!--section=faq-->\n<ul>\n<li>feel free to ask<\/li>\n<\/ul>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>fixed bugs KVSelect in javascript<\/li>\n<li>made javascript a little prettier<\/li>\n<li>fixed bug so images that end with .jpg are not stored as .jpg.jpeg<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>prepared plugin for internationalization<\/li>\n<li>added dutch translation<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>made the scripts and styles only show up on our edit pages<\/li>\n<li>removed textdomain variable<\/li>\n<li>made key value selection clearer<\/li>\n<li>smaller bugfixes<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>added CSV functionality<\/li>\n<li>added link to re-download feed<\/li>\n<li>added some explanation to this readme.txt file<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>this is the first version<\/li>\n<\/ul>","raw_excerpt":"XML feed importer with ability to map feed items onto (custom) posts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/41172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=41172"}],"author":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dirlikdesigns"}],"wp:attachment":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=41172"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=41172"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=41172"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=41172"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=41172"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=41172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}