Go to file
K. Adam White 49155e679c REST API: Introduce WP_Post_Type::get_rest_controller() caching method to prevent unnecessary REST controller construction.
Cache REST controller references on their associated post type object to prevent unnecessary controller re-instantiation, which previously caused "rest_prepare_{$post_type}" and "rest_{$post_type}_query" to run twice per request.

Props TimothyBlynJacobs, patrelentlesstechnologycom.
Fixes #45677.


git-svn-id: https://develop.svn.wordpress.org/trunk@46272 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-23 20:24:59 +00:00
src REST API: Introduce WP_Post_Type::get_rest_controller() caching method to prevent unnecessary REST controller construction. 2019-09-23 20:24:59 +00:00
tests REST API: Introduce WP_Post_Type::get_rest_controller() caching method to prevent unnecessary REST controller construction. 2019-09-23 20:24:59 +00:00
tools Block Editor: Update the WordPress Packages to the ones used in the Gutenberg 6.5 release 2019-09-19 15:17:39 +00:00
.editorconfig General: Instruct file editors not to trim trailing whitespace in markdown files. 2018-03-20 22:14:53 +00:00
.env Build Tools: Miscellaneous local-env improvements. 2019-08-12 08:28:33 +00:00
.gitignore Build Tools: Miscellaneous local-env improvements. 2019-08-12 08:28:33 +00:00
.jshintrc Build tools: Fix the travis:js build. 2018-12-24 13:53:11 +00:00
.npmrc Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
.nvmrc Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
.travis.yml Build/Test Tools: add php info to travis output 2019-09-14 19:27:46 +00:00
appveyor.yml Build/Test Tools: Remove the dependency on a globally installed Grunt. 2019-05-26 19:34:24 +00:00
composer.json Build/Test Tools: Specify PHP 5.6 as the required version of PHP in Composer. 2019-09-20 17:32:23 +00:00
composer.lock Build/Test Tools: Specify PHP 5.6 as the required version of PHP in Composer. 2019-09-20 17:32:23 +00:00
docker-compose.yml Build Tools: Pass the LOCAL_DIR environment variable through to the phpunit Docker container. 2019-08-23 01:55:28 +00:00
Gruntfile.js Accessibility: Replace wp-a11y.js with @wordpress/a11y package 2019-09-18 17:40:35 +00:00
jsdoc.conf.json Build Tools: Fix JSDoc configuration include paths. 2018-06-14 12:45:06 +00:00
package-lock.json Revert accidental change to package-lock.json in r46253 2019-09-23 17:59:10 +00:00
package.json Block Editor: Update the WordPress Packages to the ones used in the Gutenberg 6.5 release 2019-09-19 15:17:39 +00:00
phpcs.xml.dist Coding Standards: Move the remaining PHPCS errors to report as warnings, and add Travis tests. 2019-07-19 07:47:16 +00:00
phpunit.xml.dist Code Modernization: Remove all code using a version_compare() with a PHP version older than PHP 5.6. 2019-09-20 22:01:36 +00:00
README.md Build Tools: Add a WordPress Development Environment. 2019-08-05 07:09:14 +00:00
webpack.config.js Build tools: Allow building WordPress to src. 2018-12-24 13:28:22 +00:00
wp-cli.yml Build/Tests: Default to running unit tests from src. 2019-01-09 10:09:02 +00:00
wp-config-sample.php General: Replace "Happy blogging" with "Happy publishing". 2019-01-08 04:29:06 +00:00
wp-tests-config-sample.php Tests: Revert [44509]. 2019-01-09 11:13:03 +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, documention, 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.