mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
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
81 lines
1.2 KiB
PHP
81 lines
1.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Tests to make sure query vars are as expected.
|
|
*
|
|
* @group query
|
|
*/
|
|
class Tests_Query_Vars extends WP_UnitTestCase {
|
|
|
|
/**
|
|
* @ticket 35115
|
|
*/
|
|
public function testPublicQueryVarsAreAsExpected() {
|
|
global $wp;
|
|
|
|
// Re-initialise any dynamically-added public query vars:
|
|
do_action( 'init' );
|
|
|
|
$this->assertEquals(
|
|
array(
|
|
|
|
// Static public query vars:
|
|
'm',
|
|
'p',
|
|
'posts',
|
|
'w',
|
|
'cat',
|
|
'withcomments',
|
|
'withoutcomments',
|
|
's',
|
|
'search',
|
|
'exact',
|
|
'sentence',
|
|
'calendar',
|
|
'page',
|
|
'paged',
|
|
'more',
|
|
'tb',
|
|
'pb',
|
|
'author',
|
|
'order',
|
|
'orderby',
|
|
'year',
|
|
'monthnum',
|
|
'day',
|
|
'hour',
|
|
'minute',
|
|
'second',
|
|
'name',
|
|
'category_name',
|
|
'tag',
|
|
'feed',
|
|
'author_name',
|
|
'pagename',
|
|
'page_id',
|
|
'error',
|
|
'attachment',
|
|
'attachment_id',
|
|
'subpost',
|
|
'subpost_id',
|
|
'preview',
|
|
'robots',
|
|
'favicon',
|
|
'taxonomy',
|
|
'term',
|
|
'cpage',
|
|
'post_type',
|
|
'embed',
|
|
|
|
// Dynamically added public query vars:
|
|
'post_format',
|
|
'rest_route',
|
|
|
|
),
|
|
$wp->public_query_vars,
|
|
'Care should be taken when introducing new public query vars. See https://core.trac.wordpress.org/ticket/35115'
|
|
);
|
|
}
|
|
|
|
}
|