ef6973b7f0
Previously, `wp_favicon_request()` was introduced in [13205] to avoid a performance hit of serving a full 404 page on every favicon request. While working as intended, that implementation did not provide a way for theme or plugin authors to manage the behavior of favicon requests. This changeset implements the following logic (only applied if WordPress is installed in the root directory): * If there is a Site Icon set in Customizer, redirect `/favicon.ico` requests to that icon. * Otherwise, use the WordPress logo as a default icon. * If a physical `/favicon.ico` file exists, do nothing, let the server handle the request. Handling `/favicon.ico` is now more consistent with handling `/robots.txt` requests. New functions and hooks: * Introduce `is_favicon()` conditional tag to complement `is_robots()`. * Introduce `do_favicon` action to complement `do_robots` and use it in template loader. * Introduce `do_favicon()` function, hooked to the above action by default, to complement `do_robots()`. * Introduce `do_faviconico` action to complement `do_robotstxt`, for plugins to override the default behavior. * Mark `wp_favicon_request()` as deprecated in favor of `do_favicon()`. Props jonoaldersonwp, birgire, joostdevalk, mukesh27, SergeyBiryukov. Fixes #47398. git-svn-id: https://develop.svn.wordpress.org/trunk@47018 602fd350-edb4-49c9-b593-d223f7449a82 |
||
---|---|---|
src | ||
tests | ||
tools | ||
.editorconfig | ||
.env | ||
.gitignore | ||
.jshintrc | ||
.npmrc | ||
.nvmrc | ||
.travis.yml | ||
appveyor.yml | ||
composer.json | ||
composer.lock | ||
docker-compose.yml | ||
Gruntfile.js | ||
jsdoc.conf.json | ||
package-lock.json | ||
package.json | ||
phpcompat.xml.dist | ||
phpcs.xml.dist | ||
phpunit.xml.dist | ||
README.md | ||
SECURITY.md | ||
webpack.config.js | ||
wp-cli.yml | ||
wp-config-sample.php | ||
wp-tests-config-sample.php |
WordPress
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.