*
* @var callback
* @since 2.1.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 default headers.
* @since 3.0.0
* @access private
*/
- private $default_headers = array();
-
- /**
- * Holds custom headers uploaded by the user.
- *
- * @var array
- * @since 3.2.0
- * @access private
- */
- private $uploaded_headers = array();
-
- /**
- * Holds the page menu hook.
- *
- * @var string
- * @since 3.0.0
- * @access private
- */
- private $page = '';
+ public $default_headers = array();
/**
* @var bool
* @since 2.1.0
* @param callback $admin_header_callback
* @param callback $admin_image_div_callback Optional custom image div output callback.
- * @return Custom_Image_Header
*/
public function __construct($admin_header_callback, $admin_image_div_callback = '') {
$this->admin_header_callback = $admin_header_callback;
add_action( 'wp_ajax_custom-header-remove', array( $this, 'ajax_header_remove' ) );
}
- /**
- * Make private properties readable for backwards compatibility.
- *
- * @since 4.0.0
- * @access public
- *
- * @param string $name Property to get.
- * @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 Header admin page.
*
* @since 2.1.0
*/
public function init() {
- if ( ! current_user_can('edit_theme_options') )
+ $page = add_theme_page( __( 'Header' ), __( 'Header' ), 'edit_theme_options', 'custom-header', array( $this, 'admin_page' ) );
+ if ( ! $page ) {
return;
+ }
- $this->page = $page = add_theme_page(__('Header'), __('Header'), 'edit_theme_options', 'custom-header', array($this, 'admin_page'));
-
- add_action("admin_print_scripts-$page", array($this, 'js_includes'));
- add_action("admin_print_styles-$page", array($this, 'css_includes'));
- add_action("admin_head-$page", array($this, 'help') );
- add_action("admin_head-$page", array($this, 'take_action'), 50);
- add_action("admin_head-$page", array($this, 'js'), 50);
- if ( $this->admin_header_callback )
- add_action("admin_head-$page", $this->admin_header_callback, 51);
-
+ add_action( "admin_print_scripts-$page", array( $this, 'js_includes' ) );
+ add_action( "admin_print_styles-$page", array( $this, 'css_includes' ) );
+ add_action( "admin_head-$page", array( $this, 'help' ) );
+ add_action( "admin_head-$page", array( $this, 'take_action' ), 50 );
+ add_action( "admin_head-$page", array( $this, 'js' ), 50 );
+ if ( $this->admin_header_callback ) {
+ add_action( "admin_head-$page", $this->admin_header_callback, 51 );
+ }
}
/**
get_current_screen()->set_help_sidebar(
'<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
- '<p>' . __( '<a href="http://codex.wordpress.org/Appearance_Header_Screen" target="_blank">Documentation on Custom Header</a>' ) . '</p>' .
+ '<p>' . __( '<a href="https://codex.wordpress.org/Appearance_Header_Screen" target="_blank">Documentation on Custom Header</a>' ) . '</p>' .
'<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
);
}
?>
<script type="text/javascript">
-/* <![CDATA[ */
(function($){
var default_color = '<?php echo $default_color; ?>',
header_text_fields;
<?php endif; ?>
});
})(jQuery);
-/* ]]> */
</script>
<?php
}
*/
public function js_2() { ?>
<script type="text/javascript">
-/* <![CDATA[ */
function onEndCrop( coords ) {
jQuery( '#x1' ).val(coords.x);
jQuery( '#y1' ).val(coords.y);
}
});
});
-/* ]]> */
</script>
<?php
}
call_user_func( $this->admin_image_div_callback );
} else {
$custom_header = get_custom_header();
- $header_image_style = 'background-image:url(' . esc_url( get_header_image() ) . ');';
+ $header_image = get_header_image();
+
+ if ( $header_image ) {
+ $header_image_style = 'background-image:url(' . esc_url( $header_image ) . ');';
+ } else {
+ $header_image_style = '';
+ }
+
if ( $custom_header->width )
$header_image_style .= 'max-width:' . $custom_header->width . 'px;';
if ( $custom_header->height )
$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.' ) );
// Cleanup.
$medium = str_replace( basename( $original ), 'midsize-' . basename( $original ), $original );
if ( file_exists( $medium ) ) {
- /**
- * Filter the path of the file to delete.
- *
- * @since 2.1.0
- *
- * @param string $medium Path to the file to delete.
- */
- @unlink( apply_filters( 'wp_delete_file', $medium ) );
+ wp_delete_file( $medium );
}
if ( empty( $_POST['create-new-attachment'] ) && empty( $_POST['skip-cropping'] ) ) {
- /** This filter is documented in wp-admin/custom-header.php */
- @unlink( apply_filters( 'wp_delete_file', $original ) );
+ wp_delete_file( $original );
}
return $this->finished();