Go to file
Jonathan Desrosiers c83253c7f8 Upgrade/Install: Enable maintenance mode when plugins are auto-updated.
When an attempt is made to update an active plugin automatically, there is the potential currently for two negative scenarios:

- The plugin can be deactivated if the Plugins admin screen is loaded when the plugin update is incomplete, causing a PHP error.
- The WSOD protection could be triggered, sending a false alarm email to the site administrator.

By enabling maintenance mode before an active plugin update is attempted, these scenarios can be avoided.

This change implements the same approach as the `Theme_Upgrader` class of using the `upgrader_pre_install` and `upgrader_post_install` hooks to toggle maintenance mode.

Props desrosj, SergeyBiryukov.
Fixes #49400.

git-svn-id: https://develop.svn.wordpress.org/trunk@47275 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-11 20:12:52 +00:00
src Upgrade/Install: Enable maintenance mode when plugins are auto-updated. 2020-02-11 20:12:52 +00:00
tests Privacy: Introduce wp_privacy_additional_user_data filter to make it easier to include additional user meta in a personal data export. 2020-02-11 18:57:51 +00:00
tools Block Editor: Update WordPress Packages; Remove navigation block; Add social links block 2020-02-10 22:31:13 +00:00
.editorconfig
.env Docs: Fix typo in .env file description. 2019-12-30 13:46:17 +00:00
.gitignore Build Tools: Integrate DependencyExtractionWebpackPlugin in the JS build. 2020-01-03 13:15:33 +00:00
.jshintrc
.npmrc
.nvmrc
.travis.yml Build/Test Tools: Don't hardcode the directory name of the repo 2019-10-28 04:15:37 +00:00
appveyor.yml
composer.json
composer.lock
docker-compose.yml Build/Test Tools: Expose port 3306 of MySQL container. 2020-02-09 21:20:25 +00:00
Gruntfile.js Docs: Improve inline comments per the documentation standards. 2020-01-29 00:43:23 +00:00
jsdoc.conf.json
package-lock.json Block Editor: Update WordPress Packages; Remove navigation block; Add social links block 2020-02-10 22:31:13 +00:00
package.json Block Editor: Update WordPress Packages; Remove navigation block; Add social links block 2020-02-10 22:31:13 +00:00
phpcompat.xml.dist Docs: Improve inline comments per the documentation standards. 2020-01-29 00:43:23 +00:00
phpcs.xml.dist Coding Standards: Adjust coding standards to always omit parentheses for include/require statements. 2020-02-07 19:14:29 +00:00
phpunit.xml.dist Docs: Improve inline comments per the documentation standards. 2020-01-29 00:43:23 +00:00
README.md Docs: Fix typo in README.md. 2019-11-20 08:31:32 +00:00
SECURITY.md Security: Add WordPress 5.3.x to the "Supported Versions" section of GitHub Security Policy. 2019-11-16 11:17:42 +00:00
webpack.config.js
wp-cli.yml
wp-config-sample.php Code Modernization: Replace dirname( __FILE__ ) calls with __DIR__ magic constant. 2020-02-06 06:31:22 +00:00
wp-tests-config-sample.php Tests: Revert the dirname( __FILE__ ) replacement in wp-tests-config-sample.php for now, to avoid breaking unit tests created with WP-CLI scaffold command. 2020-02-06 21:49:13 +00:00

WordPress

Build Status

Welcome to the WordPress development repository! Please check out our contributor handbook for information about how to open bug reports, contribute patches, test, documentation, or get involved in any way you can.

Getting Started

WordPress is a PHP/MySQL-based project. We have a basic development environment that you can quickly get up and running with a few commands. First off, you will need to download and install Docker, if you don't have it already. After that, there are a few commands to run:

Development Environment Commands

Running these commands will start the development environment:

npm install
npm run build:dev
npm run env:start
npm run env:install

Additionally, npm run env:stop will stop the environment.

npm run env:cli runs the WP-CLI tool. WP-CLI has a lot of useful commands you can use to work on your WordPress site. Where the documentation mentions running wp, run npm run env:cli instead. For example, npm run env:cli help.

npm run test:php and npm run test:e2e run the PHP and E2E test suites, respectively.