Archived
Updates
This commit is contained in:
1 parent
70d2335bba
commit
7428b67da5
1086 files changed
+94145
-59082
No files matched your search
@@ -20,27 +20,21 @@ class Custom_Background {
|
||||
*
|
||||
* @var callback
|
||||
* @since 3.0.0
|
||||
* @access private
|
||||
*/
|
||||
private $admin_header_callback;
|
||||
public $admin_header_callback;
|
||||
|
||||
/**
|
||||
* Callback for header div.
|
||||
*
|
||||
* @var callback
|
||||
* @since 3.0.0
|
||||
* @access private
|
||||
*/
|
||||
private $admin_image_div_callback;
|
||||
public $admin_image_div_callback;
|
||||
|
||||
/**
|
||||
* Holds the page menu hook.
|
||||
*
|
||||
* @var string
|
||||
* @since 3.0.0
|
||||
* @access private
|
||||
* @var bool
|
||||
*/
|
||||
private $page = '';
|
||||
private $updated;
|
||||
|
||||
/**
|
||||
* Constructor - Register administration header callback.
|
||||
@@ -48,85 +42,37 @@ class Custom_Background {
|
||||
* @since 3.0.0
|
||||
* @param callback $admin_header_callback
|
||||
* @param callback $admin_image_div_callback Optional custom image div output callback.
|
||||
* @return Custom_Background
|
||||
*/
|
||||
public function __construct($admin_header_callback = '', $admin_image_div_callback = '') {
|
||||
$this->admin_header_callback = $admin_header_callback;
|
||||
$this->admin_image_div_callback = $admin_image_div_callback;
|
||||
|
||||
add_action( 'admin_menu', array( $this, 'init' ) );
|
||||
|
||||
add_action( 'wp_ajax_custom-background-add', array( $this, 'ajax_background_add' ) );
|
||||
|
||||
// Unused since 3.5.0.
|
||||
add_action( 'wp_ajax_set-background-image', array( $this, 'wp_set_background_image' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Make private properties readable for backwards compatibility.
|
||||
*
|
||||
* @since 4.0.0
|
||||
* @access public
|
||||
*
|
||||
* @param string $name Property name.
|
||||
* @return mixed Property.
|
||||
*/
|
||||
public function __get( $name ) {
|
||||
return $this->$name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make private properties settable for backwards compatibility.
|
||||
*
|
||||
* @since 4.0.0
|
||||
* @access public
|
||||
*
|
||||
* @param string $name Property to set.
|
||||
* @param mixed $value Property value.
|
||||
* @return mixed Newly-set property.
|
||||
*/
|
||||
public function __set( $name, $value ) {
|
||||
return $this->$name = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make private properties checkable for backwards compatibility.
|
||||
*
|
||||
* @since 4.0.0
|
||||
* @access public
|
||||
*
|
||||
* @param string $name Property to check if set.
|
||||
* @return bool Whether the property is set.
|
||||
*/
|
||||
public function __isset( $name ) {
|
||||
return isset( $this->$name );
|
||||
}
|
||||
|
||||
/**
|
||||
* Make private properties un-settable for backwards compatibility.
|
||||
*
|
||||
* @since 4.0.0
|
||||
* @access public
|
||||
*
|
||||
* @param string $name Property to unset.
|
||||
*/
|
||||
public function __unset( $name ) {
|
||||
unset( $this->$name );
|
||||
}
|
||||
|
||||
/**
|
||||
* Set up the hooks for the Custom Background admin page.
|
||||
*
|
||||
* @since 3.0.0
|
||||
*/
|
||||
public function init() {
|
||||
if ( ! current_user_can('edit_theme_options') )
|
||||
$page = add_theme_page( __( 'Background' ), __( 'Background' ), 'edit_theme_options', 'custom-background', array( $this, 'admin_page' ) );
|
||||
if ( ! $page ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->page = $page = add_theme_page(__('Background'), __('Background'), 'edit_theme_options', 'custom-background', array($this, 'admin_page'));
|
||||
add_action( "load-$page", array( $this, 'admin_load' ) );
|
||||
add_action( "load-$page", array( $this, 'take_action' ), 49 );
|
||||
add_action( "load-$page", array( $this, 'handle_upload' ), 49 );
|
||||
|
||||
add_action("load-$page", array($this, 'admin_load'));
|
||||
add_action("load-$page", array($this, 'take_action'), 49);
|
||||
add_action("load-$page", array($this, 'handle_upload'), 49);
|
||||
|
||||
if ( $this->admin_header_callback )
|
||||
add_action("admin_head-$page", $this->admin_header_callback, 51);
|
||||
if ( $this->admin_header_callback ) {
|
||||
add_action( "admin_head-$page", $this->admin_header_callback, 51 );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -147,7 +93,7 @@ class Custom_Background {
|
||||
|
||||
get_current_screen()->set_help_sidebar(
|
||||
'<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
|
||||
'<p>' . __( '<a href="http://codex.wordpress.org/Appearance_Background_Screen" target="_blank">Documentation on Custom Background</a>' ) . '</p>' .
|
||||
'<p>' . __( '<a href="https://codex.wordpress.org/Appearance_Background_Screen" target="_blank">Documentation on Custom Background</a>' ) . '</p>' .
|
||||
'<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
|
||||
);
|
||||
|
||||
@@ -233,6 +179,19 @@ class Custom_Background {
|
||||
<div class="wrap" id="custom-background">
|
||||
<h2><?php _e( 'Custom Background' ); ?></h2>
|
||||
|
||||
<?php if ( current_user_can( 'customize' ) ) { ?>
|
||||
<div class="notice notice-info hide-if-no-customize">
|
||||
<p>
|
||||
<?php
|
||||
printf(
|
||||
__( 'You can now manage and live-preview Custom Backgrounds in the <a href="%1$s">Customizer</a>.' ),
|
||||
admin_url( 'customize.php?autofocus[control]=background_image' )
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ( ! empty( $this->updated ) ) { ?>
|
||||
<div id="message" class="updated">
|
||||
<p><?php printf( __( 'Background updated. <a href="%s">Visit your site</a> to see how it looks.' ), home_url( '/' ) ); ?></p>
|
||||
@@ -254,8 +213,9 @@ class Custom_Background {
|
||||
if ( $bgcolor = get_background_color() )
|
||||
$background_styles .= 'background-color: #' . $bgcolor . ';';
|
||||
|
||||
if ( get_background_image() ) {
|
||||
$background_image_thumb = esc_url( set_url_scheme( get_theme_mod( 'background_image_thumb', str_replace( '%', '%%', get_background_image() ) ) ) );
|
||||
$background_image_thumb = get_background_image();
|
||||
if ( $background_image_thumb ) {
|
||||
$background_image_thumb = esc_url( set_url_scheme( get_theme_mod( 'background_image_thumb', str_replace( '%', '%%', $background_image_thumb ) ) ) );
|
||||
|
||||
// Background-image URL must be single quote, see below.
|
||||
$background_styles .= ' background-image: url(\'' . $background_image_thumb . '\');'
|
||||
@@ -264,7 +224,7 @@ class Custom_Background {
|
||||
}
|
||||
?>
|
||||
<div id="custom-background-image" style="<?php echo $background_styles; ?>"><?php // must be double quote, see above ?>
|
||||
<?php if ( get_background_image() ) { ?>
|
||||
<?php if ( $background_image_thumb ) { ?>
|
||||
<img class="custom-background-image" src="<?php echo $background_image_thumb; ?>" style="visibility:hidden;" alt="" /><br />
|
||||
<img class="custom-background-image" src="<?php echo $background_image_thumb; ?>" style="visibility:hidden;" alt="" />
|
||||
<?php } ?>
|
||||
@@ -277,7 +237,7 @@ class Custom_Background {
|
||||
<tr>
|
||||
<th scope="row"><?php _e('Remove Image'); ?></th>
|
||||
<td>
|
||||
<form method="post" action="">
|
||||
<form method="post">
|
||||
<?php wp_nonce_field('custom-background-remove', '_wpnonce-custom-background-remove'); ?>
|
||||
<?php submit_button( __( 'Remove Background Image' ), 'button', 'remove-background', false ); ?><br/>
|
||||
<?php _e('This will remove the background image. You will not be able to restore any customizations.') ?>
|
||||
@@ -291,7 +251,7 @@ class Custom_Background {
|
||||
<tr>
|
||||
<th scope="row"><?php _e('Restore Original Image'); ?></th>
|
||||
<td>
|
||||
<form method="post" action="">
|
||||
<form method="post">
|
||||
<?php wp_nonce_field('custom-background-reset', '_wpnonce-custom-background-reset'); ?>
|
||||
<?php submit_button( __( 'Restore Original Image' ), 'button', 'reset-background', false ); ?><br/>
|
||||
<?php _e('This will restore the original background image. You will not be able to restore any customizations.') ?>
|
||||
@@ -302,7 +262,7 @@ class Custom_Background {
|
||||
|
||||
<tr>
|
||||
<th scope="row"><?php _e('Select Image'); ?></th>
|
||||
<td><form enctype="multipart/form-data" id="upload-form" class="wp-upload-form" method="post" action="">
|
||||
<td><form enctype="multipart/form-data" id="upload-form" class="wp-upload-form" method="post">
|
||||
<p>
|
||||
<label for="upload"><?php _e( 'Choose an image from your computer:' ); ?></label><br />
|
||||
<input type="file" id="upload" name="import" />
|
||||
@@ -312,9 +272,9 @@ class Custom_Background {
|
||||
</p>
|
||||
<p>
|
||||
<label for="choose-from-library-link"><?php _e( 'Or choose an image from your media library:' ); ?></label><br />
|
||||
<a id="choose-from-library-link" class="button"
|
||||
<button id="choose-from-library-link" class="button"
|
||||
data-choose="<?php esc_attr_e( 'Choose a Background Image' ); ?>"
|
||||
data-update="<?php esc_attr_e( 'Set as background' ); ?>"><?php _e( 'Choose Image' ); ?></a>
|
||||
data-update="<?php esc_attr_e( 'Set as background' ); ?>"><?php _e( 'Choose Image' ); ?></button>
|
||||
</p>
|
||||
</form>
|
||||
</td>
|
||||
@@ -323,7 +283,7 @@ class Custom_Background {
|
||||
</table>
|
||||
|
||||
<h3><?php _e('Display Options') ?></h3>
|
||||
<form method="post" action="">
|
||||
<form method="post">
|
||||
<table class="form-table">
|
||||
<tbody>
|
||||
<?php if ( get_background_image() ) : ?>
|
||||
@@ -405,7 +365,7 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
|
||||
$overrides = array('test_form' => false);
|
||||
|
||||
$uploaded_file = $_FILES['import'];
|
||||
$wp_filetype = wp_check_filetype_and_ext( $uploaded_file['tmp_name'], $uploaded_file['name'], false );
|
||||
$wp_filetype = wp_check_filetype_and_ext( $uploaded_file['tmp_name'], $uploaded_file['name'] );
|
||||
if ( ! wp_match_mime_types( 'image', $wp_filetype['type'] ) )
|
||||
wp_die( __( 'The uploaded file is not a valid image. Please try again.' ) );
|
||||
|
||||
@@ -446,23 +406,53 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
|
||||
}
|
||||
|
||||
/**
|
||||
* Unused since 3.5.0.
|
||||
* AJAX handler for adding custom background context to an attachment.
|
||||
*
|
||||
* Triggered when the user adds a new background image from the
|
||||
* Media Manager.
|
||||
*
|
||||
* @since 4.1.0
|
||||
*/
|
||||
public function ajax_background_add() {
|
||||
check_ajax_referer( 'background-add', 'nonce' );
|
||||
|
||||
if ( ! current_user_can( 'edit_theme_options' ) ) {
|
||||
wp_send_json_error();
|
||||
}
|
||||
|
||||
$attachment_id = absint( $_POST['attachment_id'] );
|
||||
if ( $attachment_id < 1 ) {
|
||||
wp_send_json_error();
|
||||
}
|
||||
|
||||
update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', get_stylesheet() );
|
||||
|
||||
wp_send_json_success();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @since 3.4.0
|
||||
* @deprecated 3.5.0
|
||||
*/
|
||||
public function attachment_fields_to_edit( $form_fields ) {
|
||||
return $form_fields;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unused since 3.5.0.
|
||||
*
|
||||
* @since 3.4.0
|
||||
* @deprecated 3.5.0
|
||||
*/
|
||||
public function filter_upload_tabs( $tabs ) {
|
||||
return $tabs;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @since 3.4.0
|
||||
* @deprecated 3.5.0
|
||||
*/
|
||||
public function wp_set_background_image() {
|
||||
if ( ! current_user_can('edit_theme_options') || ! isset( $_POST['attachment_id'] ) ) exit;
|
||||
$attachment_id = absint($_POST['attachment_id']);
|
||||
|
||||
Reference in new issue
Block a user