Site Icon: There is no good reason for class-wp-site-icon.php
to drop a global instance of itself whenever the file is loaded. The lone use of the global
instance of WP_Site_Icon
is in an AJAX action that provides virtually no way to override - the file is loaded immediately before the global
is used.
Let us remove the `$wp_site_icon` global. I will fall on the sword if this comes back to bite us (waiting with bated breath). See #37699. git-svn-id: https://develop.svn.wordpress.org/trunk@38355 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
9e9cc9d07a
commit
a02d79cf73
@ -3162,8 +3162,6 @@ function wp_ajax_press_this_add_category() {
|
||||
* Ajax handler for cropping an image.
|
||||
*
|
||||
* @since 4.3.0
|
||||
*
|
||||
* @global WP_Site_Icon $wp_site_icon
|
||||
*/
|
||||
function wp_ajax_crop_image() {
|
||||
$attachment_id = absint( $_POST['id'] );
|
||||
@ -3184,7 +3182,7 @@ function wp_ajax_crop_image() {
|
||||
switch ( $context ) {
|
||||
case 'site-icon':
|
||||
require_once ABSPATH . '/wp-admin/includes/class-wp-site-icon.php';
|
||||
global $wp_site_icon;
|
||||
$wp_site_icon = new WP_Site_Icon();
|
||||
|
||||
// Skip creating a new attachment if the attachment is a Site Icon.
|
||||
if ( get_post_meta( $attachment_id, '_wp_attachment_context', true ) == $context ) {
|
||||
|
@ -240,8 +240,3 @@ class WP_Site_Icon {
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @global WP_Site_Icon $wp_site_icon
|
||||
*/
|
||||
$GLOBALS['wp_site_icon'] = new WP_Site_Icon;
|
||||
|
@ -1,13 +1,15 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* A set of unit tests for functions in wp-includes/general-template.php
|
||||
*
|
||||
* @group template
|
||||
* @group site_icon
|
||||
*/
|
||||
class Tests_General_Template extends WP_UnitTestCase {
|
||||
|
||||
public $wp_site_icon;
|
||||
require_once( ABSPATH . 'wp-admin/includes/class-wp-site-icon.php' );
|
||||
|
||||
class Tests_General_Template extends WP_UnitTestCase {
|
||||
protected $wp_site_icon;
|
||||
public $site_icon_id;
|
||||
public $site_icon_url;
|
||||
|
||||
@ -17,8 +19,7 @@ class Tests_General_Template extends WP_UnitTestCase {
|
||||
function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
require_once ABSPATH . 'wp-admin/includes/class-wp-site-icon.php';
|
||||
$this->wp_site_icon = $GLOBALS['wp_site_icon'];
|
||||
$this->wp_site_icon = new WP_Site_Icon();
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
|
@ -1,27 +1,33 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Tests for the WP_Site_Icon class.
|
||||
*
|
||||
* @group site_icon
|
||||
*/
|
||||
|
||||
require_once( ABSPATH . 'wp-admin/includes/class-wp-site-icon.php' );
|
||||
|
||||
class Tests_WP_Site_Icon extends WP_UnitTestCase {
|
||||
public $wp_site_icon;
|
||||
protected $wp_site_icon;
|
||||
|
||||
public $attachment_id = 0;
|
||||
|
||||
function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
require_once ABSPATH . 'wp-admin/includes/class-wp-site-icon.php';
|
||||
$this->wp_site_icon = $GLOBALS['wp_site_icon'];
|
||||
$this->wp_site_icon = new WP_Site_Icon();
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
$this->site_icon = null;
|
||||
$this->_remove_custom_logo();
|
||||
$this->remove_added_uploads();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
function _remove_custom_logo() {
|
||||
remove_theme_mod( 'custom_logo' );
|
||||
}
|
||||
|
||||
function test_intermediate_image_sizes() {
|
||||
$image_sizes = $this->wp_site_icon->intermediate_image_sizes( array() );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user