$default_bg_color,
) ) );
/**
* Filter the arguments used when adding 'custom-header' support in Persona.
*
* @since Alchemist 1.0
*
* @param array $args {
* An array of custom-header support arguments.
*
* @type string $default-text-color Default color of the header text.
* @type int $width Width in pixels of the custom header image. Default 1200.
* @type int $height Height in pixels of the custom header image. Default 280.
* @type bool $flex-height Whether to allow flexible-height header images. Default true.
* @type callable $wp-head-callback Callback function used to style the header image and text
* displayed on the blog.
* }
*/
add_theme_support( 'custom-header', apply_filters( 'alchemist_custom_header_args', array(
'default-image' => get_parent_theme_file_uri( '/assets/images/header-image.jpg' ),
'default-text-color' => $default_text_color,
'width' => 1920,
'height' => 822,
'flex-height' => true,
'flex-width' => true,
'wp-head-callback' => 'alchemist_header_style',
'video' => true,
) ) );
register_default_headers( array(
'default-image' => array(
'url' => '%s/assets/images/header-image.jpg',
'thumbnail_url' => '%s/assets/images/header-image-275x155.jpg',
'description' => esc_html__( 'Default Header Image', 'alchemist' ),
),
) );
}
add_action( 'after_setup_theme', 'alchemist_custom_header_and_background' );
if ( ! function_exists( 'alchemist_header_style' ) ) :
/**
* Styles the header text displayed on the site.
*
* Create your own alchemist_header_style() function to override in a child theme.
*
* @since Alchemist 1.0
*
* @see alchemist_custom_header_and_background().
*/
function alchemist_header_style() {
$header_image = alchemist_featured_overall_image();
if ( 'disable' !== $header_image ) : ?>
' . esc_html__( 'Play background video', 'alchemist' ) . '' . alchemist_get_svg( array(
'icon' => 'play',
) );
$settings['l10n']['pause'] = '' . esc_html__( 'Pause background video', 'alchemist' ) . '' . alchemist_get_svg( array(
'icon' => 'pause',
) );
$enable = get_theme_mod( 'alchemist_header_enable_media_on_mobile' );
// Enable header video on mobile devices
if ( $enable ) {
$settings['minWidth'] = 100;
$settings['minHeight'] = 100;
}
return $settings;
}
add_filter( 'header_video_settings', 'alchemist_video_controls' );
/**
* Converts a HEX value to RGB.
*
* @since Alchemist 1.0
*
* @param string $color The original color, in 3- or 6-digit hexadecimal form.
* @return array Array containing RGB (red, green, and blue) values for the given
* HEX code, empty array otherwise.
*/
function alchemist_hex2rgb( $color ) {
$color = trim( $color, '#' );
if ( strlen( $color ) === 3 ) {
$r = hexdec( substr( $color, 0, 1 ).substr( $color, 0, 1 ) );
$g = hexdec( substr( $color, 1, 1 ).substr( $color, 1, 1 ) );
$b = hexdec( substr( $color, 2, 1 ).substr( $color, 2, 1 ) );
} else if ( strlen( $color ) === 6 ) {
$r = hexdec( substr( $color, 0, 2 ) );
$g = hexdec( substr( $color, 2, 2 ) );
$b = hexdec( substr( $color, 4, 2 ) );
} else {
return array();
}
return array( 'red' => $r, 'green' => $g, 'blue' => $b );
}
/**
* Binds the JS listener to make Customizer color_scheme control.
*
* Passes color scheme data as colorScheme global.
*
* @since Alchemsit 1.0
*/
function alchemist_customize_control_js() {
wp_enqueue_style( 'alchemist-custom-controls-css', trailingslashit( esc_url( get_template_directory_uri() ) ) . 'assets/css/customizer.css' );
}
add_action( 'customize_controls_enqueue_scripts', 'alchemist_customize_control_js' );