mirror of
https://ghproxy.net/https://github.com/wp-cli/handbook.git
synced 2026-07-27 12:47:14 +08:00
82 lines
5.3 KiB
Markdown
82 lines
5.3 KiB
Markdown
# wp import
|
|
|
|
Imports content from a given WXR file.
|
|
|
|
Provides a command line interface to the WordPress Importer plugin, for performing data migrations.
|
|
|
|
Use `define( 'IMPORT_DEBUG', true );` for more verbosity during importing.
|
|
|
|
### OPTIONS
|
|
|
|
See the [argument syntax](https://make.wordpress.org/cli/handbook/references/argument-syntax/) reference for a detailed explanation of the syntax conventions used.
|
|
|
|
<file>...
|
|
: Path to one or more valid WXR files for importing. Directories are also accepted. A URL to a WXR file is also accepted. Use '-' to import from STDIN.
|
|
|
|
\--authors=<authors>
|
|
: How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The CSV requires two columns, and a header row like "old_user_login,new_user_login". The last option will skip any author mapping.
|
|
|
|
[\--skip=<data-type>]
|
|
: Skip importing specific data. Supported options are: 'attachment' and 'image_resize' (skip time-consuming thumbnail generation).
|
|
|
|
[\--rewrite_urls]
|
|
: Change all imported URLs that currently link to the previous site so that they now link to this site Requires WordPress Importer version 0.9.1 or newer.
|
|
|
|
[\--importer=<importer>]
|
|
: Use a custom importer class instead of the default WP_Import. The class must exist and be a subclass of WP_Import.
|
|
|
|
[\--source-dir=<dir>]
|
|
: A local directory to search for attachment files before downloading them from their original URLs. When specified, the importer matches attachment filenames (by basename only) against files in this directory, and uses any local match instead of fetching the file over the network. Useful when attachment files are already available locally, e.g. from a previous site's uploads directory.
|
|
|
|
### EXAMPLES
|
|
|
|
# Import content from a WXR file
|
|
$ wp import example.wordpress.2016-06-21.xml --authors=create
|
|
Starting the import process...
|
|
Processing post #1 ("Hello world!") (post_type: post)
|
|
-- 1 of 1
|
|
-- Tue, 21 Jun 2016 05:31:12 +0000
|
|
-- Imported post as post_id #1
|
|
Success: Finished importing from 'example.wordpress.2016-06-21.xml' file.
|
|
|
|
# Import content from a WXR file via HTTP
|
|
$ wp import https://raw.githubusercontent.com/WordPress/theme-test-data/refs/heads/master/theme-preview.xml --authors=skip
|
|
Starting the import process...
|
|
Downloading 'https://raw.githubusercontent.com/WordPress/theme-test-data/refs/heads/master/theme-preview.xml'...
|
|
Success: Finished importing from 'https://raw.githubusercontent.com/WordPress/theme-test-data/refs/heads/master/theme-preview.xml' file.
|
|
|
|
# Import content from STDIN
|
|
$ wp export --stdout | wp import - --authors=skip
|
|
Starting the import process...
|
|
Success: Finished importing from 'STDIN' file.
|
|
|
|
# Import using locally available attachment files to avoid re-downloading
|
|
$ wp import export.xml --authors=skip --source-dir=/path/to/uploads
|
|
Starting the import process...
|
|
-- Using local file for 'https://example.com/wp-content/uploads/2024/01/image.jpg'.
|
|
Success: Finished importing from 'export.xml' file.
|
|
|
|
### GLOBAL PARAMETERS
|
|
|
|
These [global parameters](https://make.wordpress.org/cli/handbook/config/) have the same behavior across all commands and affect how WP-CLI interacts with WordPress.
|
|
|
|
| **Argument** | **Description** |
|
|
|:----------------|:-----------------------------|
|
|
| `--path=<path>` | Path to the WordPress files. |
|
|
| `--url=<url>` | Pretend request came from given URL. In multisite, this argument is how the target site is specified. |
|
|
| `--ssh=[<scheme>:][<user>@]<host\|container>[:<port>][<path>]` | Perform operation against a remote server over SSH (or a container using scheme of "docker", "docker-compose", "docker-compose-run", "vagrant"). |
|
|
| `--ssh-args=<args>` | Pass additional arguments to SSH (or other tools specified by --ssh scheme). |
|
|
| `--http=<http>` | Perform operation against a remote WordPress installation over HTTP. |
|
|
| `--user=<id\|login\|email>` | Set the WordPress user. |
|
|
| `--skip-plugins[=<plugins>]` | Skip loading all plugins, or a comma-separated list of plugins. Note: mu-plugins are still loaded. |
|
|
| `--skip-themes[=<themes>]` | Skip loading all themes, or a comma-separated list of themes. |
|
|
| `--skip-packages` | Skip loading all installed packages. |
|
|
| `--require=<path>` | Load PHP file before running the command (may be used more than once). |
|
|
| `--exec=<php-code>` | Execute PHP code before running the command (may be used more than once). |
|
|
| `--context=<context>` | Load WordPress in a given context. |
|
|
| `--[no-]color` | Whether to colorize the output. |
|
|
| `--debug[=<group>]` | Show all PHP errors and add verbosity to WP-CLI output. Built-in groups include: bootstrap, commandfactory, and help. |
|
|
| `--prompt[=<assoc>]` | Prompt the user to enter values for all command arguments, or a subset specified as comma-separated values. |
|
|
| `--quiet` | Suppress informational messages. |
|
|
| `--alias=<name>` | Name of the alias to use. Aliases can reference local WordPress installations or remote SSH connections. Aliases are defined in the wp-cli.yml file. |
|
|
| `--assume-https` | Set $_SERVER['HTTPS'] to make WordPress treat the site as HTTPS. Use when WordPress is behind an HTTPS proxy or load balancer. |
|