| 开发者 |
eizport
camaleaun |
|---|---|
| 更新时间 | 2026年11月3日 18:28 |
| 捐献地址: | 去捐款 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
<site name>.WordPress.<date>.post_content/<slug>.html file instead of inside the WXR — easy to read, edit and keep under version control. A page built with Elementor goes as <slug>.json, its design in Elementor's format.options.json. When the homepage or the posts page is exported, they can be set as such on import. IDs in the settings (homepage, logo, menus…) are mapped to the imported items. Site URLs, the admin email, keys, active plugins, roles and transients are never exported.blueprint.json, the plain WXR (.xml), the media and content files (as checked above) and the themes, plugins and must-use plugins you check that aren't in the WordPress.org directory (a child theme brings its parent; the directory's are installed from there, in the version this site has). Playground installs them, activates the theme, sets the language you choose (the site's by default, yours or English) and imports the content. After the download, the screen shows the command that runs it (npx @wp-playground/cli@latest server --blueprint=./<file>.zip).manifest.json — format version, the WXR file name and which attachment URL each media file belongs to;uploads/… — the attachment files, in the same folders as on the exporting site;post_content/<slug>.html — post contents, when exported as files;options.json — settings, set when the import ends..tar.gz files opens.
Abilities
The same export and import, for AI agents and scripts, through the WordPress Abilities API (/wp-json/wp-abilities/v1/abilities/<name>/run, and as tools with the MCP adapter):
eizport/get-export-options — what can be exported: content types with their terms, statuses and counts, settings groups, themes and plugins, the homepage and posts page.eizport/get-items — a page of one type's items (search, sort, the same filters as the export), to pick what to export.eizport/get-options — the site's options one by one (search, group, pages), with their size and whether they hold post IDs; options never exported are left out.eizport/export — exports to a temporary copy (a .wxrz or .zip bundle, WordPress's plain .xml with bundle: false, or a Playground .zip with blueprint) and returns its link: types (post type => ids or filters), media, media_used, post_content, zip, options (groups, names, front_pages, linked, or all), blueprint (themes, plugins, mu_plugins, landing_page, language), filename.eizport/get-export-defaults, eizport/save-export-defaults and eizport/clear-export-defaults — the choices saved as default (the site's need manage_options).eizport/get-copies — the copies kept, with their links and expiry.eizport/delete-copies — deletes copies by names, or all.eizport/import — imports a copy kept on this site, or an attachment_id of a .wxrz, .zip or .xml file, with media and settings.eizport/get-settings and eizport/update-settings — the plugin's settings (see Settings above); manage_options.export capability for exporting and copies, import for importing. Only one export runs per request.
For developers
eizport_post_content — filter the content an imported item gets from a bundle ($content, $item with original id, type and slug, $dir).eizport_wxrz_max_bytes — the largest size a .wxrz may expand to when imported (default 512 MB).eizport_playground_blueprint — filter the blueprint of a Playground .zip ($blueprint, $wxr_name).eizport_playground_mu_plugins — filter the must-use plugins a Playground .zip can take ($choices, file => plugin data).eizport_linked_options — options that point to a post, with its role: option => array( 'label' => 'Shop page', 'with' => array( … ), 'when' => array( option => value ) ). They get the imported post's ID on import, show on the items, and come with them.eizport_option_groups — the groups of options offered (key => array( 'label' => 'Name: what it holds', 'options' => array( … ) )).eizport_denied_options — more options never exported (a plugin's keys, tokens or version numbers); WordPress's own can't be removed.eizport_media_used — attachments a post uses beyond its content ($used, $post), like a product gallery.eizport_content_types — the post types the Export screen offers as rows (a plugin takes out its own internal types).eizport_look_items, eizport_look_data, eizport_look_suggested — a row of a plugin's own next to the look's: its items, its entry in the options file, and what the posts chosen suggest.eizport_look_media — the attachments a plugin's look row uses.eizport_content_file — a post's content file: .html, or a page builder's design as .json ($file, $post).eizport_advanced_custom_fields_id_types — the ACF field types whose values are IDs an import maps (type => post, term or user).eizport_register_compat — action, after all plugins load, where compatibilities hook those filters. The WooCommerce, Advanced Custom Fields and Elementor ones ship with the plugin (includes/compat/woocommerce.php: pages, a group, version options, product galleries; includes/compat/advanced-custom-fields.php: the ACF row; includes/compat/elementor.php: the Elementor row and designs); a plugin can replace one with its own: remove_action( 'eizport_register_compat', 'Eizport\Compat\WooCommerce\register' );.eizport_post_id_options — options that hold a post ID (by default the linked options), mapped to the imported post on import.eizport_selection_limit — how many items each "By selection" list shows (default 1000, the latest).eizport_copy_lifetime — how long a Playground copy lasts, in seconds (default: the one chosen in the settings; 0 keeps copies until deleted).wp eizport import <file> — WP-CLI command that imports a .wxrz (or .xml.gz, or .xml) with the WordPress Importer, attachments included.Only import files you trust, as with any WXR file. When a bundle is opened, only the files its manifest lists are written, only under a private folder, only with file types WordPress allows to be uploaded (never PHP), and never outside that folder. The folder is deleted when the import ends or is abandoned.
WooCommerce, with its own support: products, orders and coupons, its pages as linked settings, product galleries, the products its blocks show (suggested) and product reviews. Advanced Custom Fields (ACF), with its own support too: its post types, taxonomies and field groups on a row of their own, in ACF's export format, imported before the content, and the fields that store IDs (image, file, post object, relationship, page link, taxonomy, user) remapped on import. Elementor, with its own support as well, through Elementor's own exporter and importer: its site settings (the Kit) and templates on a row of their own, each page's design as a .json file, and on import the images, templates and links inside them pointing to the items on the other site. The docs explain what to expect: https://eizport.github.io/docs/developers/compatibilities/
A plugin .zip that holds the bundle. Install it on the other site (Plugins → Add Plugin → Upload Plugin) and click Run import on its row on the Plugins screen: it checks that Eizport and the WordPress Importer are there, imports the bundle with one click, and then offers to delete itself.
Yes. Activate it on the network or on each site: every site exports and imports on its own (its files in its own uploads folder, its own saved defaults), links are mapped between subsites, and uninstalling cleans every site. Site administrators export and import; WordPress filters imported content for those who can't post unfiltered HTML. Docs: https://eizport.github.io/docs/getting-started/multisite/
Uploads are limited by your server's PHP settings (upload_max_filesize and post_max_size), which apply to the compressed file. A bundle may expand to 512 MB by default; developers can change it with the eizport_wxrz_max_bytes filter.
Not to its authors: Eizport has no service of its own. It uses WordPress.org's plugin and theme information and downloads, as WordPress does, and opens WordPress Playground only when you click to; see "External services" for what is sent and when. When importing a bundle, the importer's attachment downloads are answered from the bundle on your own server.
It installs the plugins and themes in the .zip, sets the language chosen (with its translations), writes the must-use plugins chosen (with the folders they load) and imports the WXR with Playground's own importer. With media or content files, they are written into Playground first and a temporary must-use plugin answers the importer's downloads from the media files and puts each .html file into its post, and a second one sets the settings when the import ends, with their IDs mapped; all of it is removed after the import. The WordPress Importer is installed by Playground itself, from WordPress.org.
Anyone with its link: the file name ends in a random 16-character token, so it can't be guessed, and it is served only until it expires (a day by default; see the plugin's Settings, where it can also be "until deleted"), then deleted. On a site on your computer (like localhost), the link only works in your own browser. Don't keep copies of content that must stay private.
In wp-content/uploads/eizport/tmp/: Playground copies, and the folders of bundles being imported. Everything there is temporary, and the tmp folder itself is deleted once it is empty. Uninstalling the plugin deletes uploads/eizport/ and the plugin's settings.
The PHP is in the plugin, readable. The Export and Settings screens' JavaScript in build/ is compiled; each file ships next to its unminified version, and its source (TypeScript, in routes/ and src/) is at https://github.com/eizport/eizport — build it with npm ci && npm run build (@wordpress/build).