{"id":28619606,"url":"https://github.com/wp-cli/core-command","last_synced_at":"2026-01-12T14:13:56.913Z","repository":{"id":20046429,"uuid":"88057521","full_name":"wp-cli/core-command","owner":"wp-cli","description":"Downloads, installs, updates, and manages a WordPress installation.","archived":false,"fork":false,"pushed_at":"2026-01-10T10:29:44.000Z","size":9516,"stargazers_count":51,"open_issues_count":31,"forks_count":56,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-01-11T03:23:38.294Z","etag":null,"topics":["cli","core","hacktoberfest","wordpress","wp-cli","wp-cli-package"],"latest_commit_sha":null,"homepage":"","language":"Gherkin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wp-cli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2017-04-12T13:53:48.000Z","updated_at":"2026-01-10T09:57:43.000Z","dependencies_parsed_at":"2023-02-16T11:11:05.822Z","dependency_job_id":"764e86ea-04a2-42f4-a8f1-f42c2d26b00d","html_url":"https://github.com/wp-cli/core-command","commit_stats":{"total_commits":1123,"total_committers":105,"mean_commits":"10.695238095238095","dds":0.7506678539626002,"last_synced_commit":"33b3ba0c03efa9f280bab59107532272ac2a4235"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/wp-cli/core-command","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-cli%2Fcore-command","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-cli%2Fcore-command/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-cli%2Fcore-command/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-cli%2Fcore-command/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wp-cli","download_url":"https://codeload.github.com/wp-cli/core-command/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-cli%2Fcore-command/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","core","hacktoberfest","wordpress","wp-cli","wp-cli-package"],"created_at":"2025-06-12T04:40:37.560Z","updated_at":"2026-01-12T14:13:56.876Z","avatar_url":"https://github.com/wp-cli.png","language":"Gherkin","readme":"wp-cli/core-command\n===================\n\nDownloads, installs, updates, and manages a WordPress installation.\n\n[![Testing](https://github.com/wp-cli/core-command/actions/workflows/testing.yml/badge.svg)](https://github.com/wp-cli/core-command/actions/workflows/testing.yml)\n\nQuick links: [Using](#using) | [Installing](#installing) | [Contributing](#contributing) | [Support](#support)\n\n## Using\n\nThis package implements the following commands:\n\n### wp core\n\nDownloads, installs, updates, and manages a WordPress installation.\n\n~~~\nwp core\n~~~\n\n**EXAMPLES**\n\n    # Download WordPress core\n    $ wp core download --locale=nl_NL\n    Downloading WordPress 4.5.2 (nl_NL)...\n    md5 hash verified: c5366d05b521831dd0b29dfc386e56a5\n    Success: WordPress downloaded.\n\n    # Install WordPress\n    $ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_password=strongpassword --admin_email=info@example.com\n    Success: WordPress installed successfully.\n\n    # Display the WordPress version\n    $ wp core version\n    4.5.2\n\n\n\n### wp core check-update\n\nChecks for WordPress updates via Version Check API.\n\n~~~\nwp core check-update [--minor] [--major] [--force-check] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\nLists the most recent versions when there are updates available,\nor success message when up to date.\n\n**OPTIONS**\n\n\t[--minor]\n\t\tCompare only the first two parts of the version number.\n\n\t[--major]\n\t\tCompare only the first part of the version number.\n\n\t[--force-check]\n\t\tBypass the transient cache and force a fresh update check.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each update.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific object fields. Defaults to version,update_type,package_url.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - count\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    $ wp core check-update\n    +---------+-------------+-------------------------------------------------------------+\n    | version | update_type | package_url                                                 |\n    +---------+-------------+-------------------------------------------------------------+\n    | 4.5.2   | major       | https://downloads.wordpress.org/release/wordpress-4.5.2.zip |\n    +---------+-------------+-------------------------------------------------------------+\n\n\n\n### wp core download\n\nDownloads core WordPress files.\n\n~~~\nwp core download [\u003cdownload-url\u003e] [--path=\u003cpath\u003e] [--locale=\u003clocale\u003e] [--version=\u003cversion\u003e] [--skip-content] [--force] [--insecure] [--extract]\n~~~\n\nDownloads and extracts WordPress core files to the specified path. Uses\ncurrent directory when no path is specified. Downloaded build is verified\nto have the correct md5 and then cached to the local filesystem.\nSubsequent uses of command will use the local cache if it still exists.\n\n**OPTIONS**\n\n\t[\u003cdownload-url\u003e]\n\t\tDownload directly from a provided URL instead of fetching the URL from the wordpress.org servers.\n\n\t[--path=\u003cpath\u003e]\n\t\tSpecify the path in which to install WordPress. Defaults to current\n\t\tdirectory.\n\n\t[--locale=\u003clocale\u003e]\n\t\tSelect which language you want to download.\n\n\t[--version=\u003cversion\u003e]\n\t\tSelect which version you want to download. Accepts a version number, 'latest' or 'nightly'.\n\n\t[--skip-content]\n\t\tDownload WP without the default themes and plugins.\n\n\t[--force]\n\t\tOverwrites existing files, if present.\n\n\t[--insecure]\n\t\tRetry download without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.\n\n\t[--extract]\n\t\tWhether to extract the downloaded file. Defaults to true.\n\n**EXAMPLES**\n\n    $ wp core download --locale=nl_NL\n    Downloading WordPress 4.5.2 (nl_NL)...\n    md5 hash verified: c5366d05b521831dd0b29dfc386e56a5\n    Success: WordPress downloaded.\n\n\n\n### wp core install\n\nRuns the standard WordPress installation process.\n\n~~~\nwp core install --url=\u003curl\u003e --title=\u003csite-title\u003e --admin_user=\u003cusername\u003e [--admin_password=\u003cpassword\u003e] --admin_email=\u003cemail\u003e [--locale=\u003clocale\u003e] [--skip-email]\n~~~\n\nCreates the WordPress tables in the database using the URL, title, and\ndefault admin user details provided. Performs the famous 5 minute install\nin seconds or less.\n\nNote: if you've installed WordPress in a subdirectory, then you'll need\nto `wp option update siteurl` after `wp core install`. For instance, if\nWordPress is installed in the `/wp` directory and your domain is example.com,\nthen you'll need to run `wp option update siteurl http://example.com/wp` for\nyour WordPress installation to function properly.\n\nNote: When using custom user tables (e.g. `CUSTOM_USER_TABLE`), the admin\nemail and password are ignored if the user_login already exists. If the\nuser_login doesn't exist, a new user will be created.\n\n**OPTIONS**\n\n\t--url=\u003curl\u003e\n\t\tThe address of the new site.\n\n\t--title=\u003csite-title\u003e\n\t\tThe title of the new site.\n\n\t--admin_user=\u003cusername\u003e\n\t\tThe name of the admin user.\n\n\t[--admin_password=\u003cpassword\u003e]\n\t\tThe password for the admin user. Defaults to randomly generated string.\n\n\t--admin_email=\u003cemail\u003e\n\t\tThe email address for the admin user.\n\n\t[--locale=\u003clocale\u003e]\n\t\tThe locale/language for the installation (e.g. `de_DE`). Default is `en_US`.\n\n\t[--skip-email]\n\t\tDon't send an email notification to the new admin user.\n\n**EXAMPLES**\n\n    # Install WordPress in 5 seconds\n    $ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_password=strongpassword --admin_email=info@example.com\n    Success: WordPress installed successfully.\n\n    # Install WordPress without disclosing admin_password to bash history\n    $ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_email=info@example.com --prompt=admin_password \u003c admin_password.txt\n\n\n\n### wp core is-installed\n\nChecks if WordPress is installed.\n\n~~~\nwp core is-installed [--network]\n~~~\n\nDetermines whether WordPress is installed by checking if the standard\ndatabase tables are installed. Doesn't produce output; uses exit codes\nto communicate whether WordPress is installed.\n\n**OPTIONS**\n\n\t[--network]\n\t\tCheck if this is a multisite installation.\n\n**EXAMPLES**\n\n    # Bash script for checking if WordPress is not installed.\n\n    if ! wp core is-installed 2\u003e/dev/null; then\n        # WP is not installed. Let's try installing it.\n        wp core install\n    fi\n\n    # Bash script for checking if WordPress is installed, with fallback.\n\n    if wp core is-installed 2\u003e/dev/null; then\n        # WP is installed. Let's do some things we should only do in a confirmed WP environment.\n        wp core verify-checksums\n    else\n        # Fallback if WP is not installed.\n        echo 'Hey Friend, you are in the wrong spot. Move in to your WordPress directory and try again.'\n    fi\n\n\n\n### wp core multisite-convert\n\nTransforms an existing single-site installation into a multisite installation.\n\n~~~\nwp core multisite-convert [--title=\u003cnetwork-title\u003e] [--base=\u003curl-path\u003e] [--subdomains] [--skip-config]\n~~~\n\nCreates the multisite database tables, and adds the multisite constants\nto wp-config.php.\n\nFor those using WordPress with Apache, remember to update the `.htaccess`\nfile with the appropriate multisite rewrite rules.\n\n[Review the multisite documentation](https://wordpress.org/support/article/create-a-network/)\nfor more details about how multisite works.\n\n**OPTIONS**\n\n\t[--title=\u003cnetwork-title\u003e]\n\t\tThe title of the new network.\n\n\t[--base=\u003curl-path\u003e]\n\t\tBase path after the domain name that each site url will start with.\n\t\t---\n\t\tdefault: /\n\t\t---\n\n\t[--subdomains]\n\t\tIf passed, the network will use subdomains, instead of subdirectories. Doesn't work with 'localhost'.\n\n\t[--skip-config]\n\t\tDon't add multisite constants to wp-config.php.\n\n**EXAMPLES**\n\n    $ wp core multisite-convert\n    Set up multisite database tables.\n    Added multisite constants to wp-config.php.\n    Success: Network installed. Don't forget to set up rewrite rules.\n\n\n\n### wp core multisite-install\n\nInstalls WordPress multisite from scratch.\n\n~~~\nwp core multisite-install [--url=\u003curl\u003e] [--base=\u003curl-path\u003e] [--subdomains] --title=\u003csite-title\u003e --admin_user=\u003cusername\u003e [--admin_password=\u003cpassword\u003e] --admin_email=\u003cemail\u003e [--skip-email] [--skip-config]\n~~~\n\nCreates the WordPress tables in the database using the URL, title, and\ndefault admin user details provided. Then, creates the multisite tables\nin the database and adds multisite constants to the wp-config.php.\n\nFor those using WordPress with Apache, remember to update the `.htaccess`\nfile with the appropriate multisite rewrite rules.\n\n**OPTIONS**\n\n\t[--url=\u003curl\u003e]\n\t\tThe address of the new site.\n\n\t[--base=\u003curl-path\u003e]\n\t\tBase path after the domain name that each site url in the network will start with.\n\t\t---\n\t\tdefault: /\n\t\t---\n\n\t[--subdomains]\n\t\tIf passed, the network will use subdomains, instead of subdirectories. Doesn't work with 'localhost'.\n\n\t--title=\u003csite-title\u003e\n\t\tThe title of the new site.\n\n\t--admin_user=\u003cusername\u003e\n\t\tThe name of the admin user.\n\t\t---\n\t\tdefault: admin\n\t\t---\n\n\t[--admin_password=\u003cpassword\u003e]\n\t\tThe password for the admin user. Defaults to randomly generated string.\n\n\t--admin_email=\u003cemail\u003e\n\t\tThe email address for the admin user.\n\n\t[--skip-email]\n\t\tDon't send an email notification to the new admin user.\n\n\t[--skip-config]\n\t\tDon't add multisite constants to wp-config.php.\n\n**EXAMPLES**\n\n    $ wp core multisite-install --title=\"Welcome to the WordPress\" \\\n    \u003e --admin_user=\"admin\" --admin_password=\"password\" \\\n    \u003e --admin_email=\"user@example.com\"\n    Single site database tables already present.\n    Set up multisite database tables.\n    Added multisite constants to wp-config.php.\n    Success: Network installed. Don't forget to set up rewrite rules.\n\n\n\n### wp core update\n\nUpdates WordPress to a newer version.\n\n~~~\nwp core update [\u003czip\u003e] [--minor] [--version=\u003cversion\u003e] [--force] [--locale=\u003clocale\u003e] [--format=\u003cformat\u003e] [--insecure]\n~~~\n\nDefaults to updating WordPress to the latest version.\n\nIf you see \"Error: Another update is currently in progress.\", you may\nneed to run `wp option delete core_updater.lock` after verifying another\nupdate isn't actually running.\n\n**OPTIONS**\n\n\t[\u003czip\u003e]\n\t\tPath to zip file to use, instead of downloading from wordpress.org.\n\n\t[--minor]\n\t\tOnly perform updates for minor releases (e.g. update from WP 4.3 to 4.3.3 instead of 4.4.2).\n\n\t[--version=\u003cversion\u003e]\n\t\tUpdate to a specific version, instead of to the latest version. Alternatively accepts 'nightly'.\n\n\t[--force]\n\t\tUpdate even when installed WP version is greater than the requested version.\n\n\t[--locale=\u003clocale\u003e]\n\t\tSelect which language you want to download.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t---\n\n\t[--insecure]\n\t\tRetry download without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.\n\n**EXAMPLES**\n\n    # Update WordPress\n    $ wp core update\n    Updating to version 4.5.2 (en_US)...\n    Downloading update from https://downloads.wordpress.org/release/wordpress-4.5.2-no-content.zip...\n    Unpacking the update...\n    Cleaning up files...\n    No files found that need cleaning up\n    Success: WordPress updated successfully.\n\n    # Update WordPress using zip file.\n    $ wp core update ../latest.zip\n    Starting update...\n    Unpacking the update...\n    Success: WordPress updated successfully.\n\n    # Update WordPress to 3.1 forcefully\n    $ wp core update --version=3.1 --force\n    Updating to version 3.1 (en_US)...\n    Downloading update from https://wordpress.org/wordpress-3.1.zip...\n    Unpacking the update...\n    Warning: Checksums not available for WordPress 3.1/en_US. Please cleanup files manually.\n    Success: WordPress updated successfully.\n\n\n\n### wp core update-db\n\nRuns the WordPress database update procedure.\n\n~~~\nwp core update-db [--network] [--dry-run]\n~~~\n\n**OPTIONS**\n\n\t[--network]\n\t\tUpdate databases for all sites on a network\n\n\t[--dry-run]\n\t\tCompare database versions without performing the update.\n\n**EXAMPLES**\n\n    # Update the WordPress database.\n    $ wp core update-db\n    Success: WordPress database upgraded successfully from db version 36686 to 35700.\n\n    # Update databases for all sites on a network.\n    $ wp core update-db --network\n    WordPress database upgraded successfully from db version 35700 to 29630 on example.com/\n    Success: WordPress database upgraded on 123/123 sites.\n\n\n\n### wp core version\n\nDisplays the WordPress version.\n\n~~~\nwp core version [--extra]\n~~~\n\n**OPTIONS**\n\n\t[--extra]\n\t\tShow extended version information.\n\n**EXAMPLES**\n\n    # Display the WordPress version\n    $ wp core version\n    4.5.2\n\n    # Display WordPress version along with other information\n    $ wp core version --extra\n    WordPress version: 4.5.2\n    Database revision: 36686\n    TinyMCE version:   4.310 (4310-20160418)\n    Package language:  en_US\n\n## Installing\n\nThis package is included with WP-CLI itself, no additional installation necessary.\n\nTo install the latest version of this package over what's included in WP-CLI, run:\n\n    wp package install git@github.com:wp-cli/core-command.git\n\n## Contributing\n\nWe appreciate you taking the initiative to contribute to this project.\n\nContributing isn’t limited to just code. We encourage you to contribute in the way that best fits your abilities, by writing tutorials, giving a demo at your local meetup, helping other users with their support questions, or revising our documentation.\n\nFor a more thorough introduction, [check out WP-CLI's guide to contributing](https://make.wordpress.org/cli/handbook/contributing/). This package follows those policy and guidelines.\n\n### Reporting a bug\n\nThink you’ve found a bug? We’d love for you to help us get it fixed.\n\nBefore you create a new issue, you should [search existing issues](https://github.com/wp-cli/core-command/issues?q=label%3Abug%20) to see if there’s an existing resolution to it, or if it’s already been fixed in a newer version.\n\nOnce you’ve done a bit of searching and discovered there isn’t an open or fixed issue for your bug, please [create a new issue](https://github.com/wp-cli/core-command/issues/new). Include as much detail as you can, and clear steps to reproduce if possible. For more guidance, [review our bug report documentation](https://make.wordpress.org/cli/handbook/bug-reports/).\n\n### Creating a pull request\n\nWant to contribute a new feature? Please first [open a new issue](https://github.com/wp-cli/core-command/issues/new) to discuss whether the feature is a good fit for the project.\n\nOnce you've decided to commit the time to seeing your pull request through, [please follow our guidelines for creating a pull request](https://make.wordpress.org/cli/handbook/pull-requests/) to make sure it's a pleasant experience. See \"[Setting up](https://make.wordpress.org/cli/handbook/pull-requests/#setting-up)\" for details specific to working on this package locally.\n\n## Support\n\nGitHub issues aren't for general support questions, but there are other venues you can try: https://wp-cli.org/#support\n\n\n*This README.md is generated dynamically from the project's codebase using `wp scaffold package-readme` ([doc](https://github.com/wp-cli/scaffold-package-command#wp-scaffold-package-readme)). To suggest changes, please submit a pull request against the corresponding part of the codebase.*\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwp-cli%2Fcore-command","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwp-cli%2Fcore-command","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwp-cli%2Fcore-command/lists"}