WordPress.org

Make WordPress Core

Ticket #38738: 38738.diff

File 38738.diff, 1.5 KB (added by flixos90, 3 years ago)
  • src/wp-includes/theme.php

     
    14001400 * @return bool True if a custom header is set. False if not.
    14011401 */
    14021402function has_custom_header() {
    1403         if ( has_header_image() || ( is_front_page() && has_header_video() ) ) {
     1403        if ( has_header_image() || ( has_header_video() && is_header_video_active() ) ) {
    14041404                return true;
    14051405        }
    14061406
     
    14081408}
    14091409
    14101410/**
     1411 * Checks whether the custom header video is eligible to show on the current page.
     1412 *
     1413 * @since 1.0.0
     1414 *
     1415 * @return bool True if the custom header video should be shown. False if not.
     1416 */
     1417function is_header_video_active() {
     1418        $video_active_cb = get_theme_support( 'custom-header', 'video-active-callback' );
     1419        if ( empty( $video_active_cb ) || ! is_callable( $video_active_cb ) ) {
     1420                return true;
     1421        }
     1422
     1423        return call_user_func( $video_active_cb );
     1424}
     1425
     1426/**
    14111427 * Retrieve the markup for a custom header.
    14121428 *
    14131429 * @since 4.7.0
     
    14361452        }
    14371453        echo $custom_header;
    14381454
    1439         if ( has_header_video() && is_front_page() ) {
     1455        if ( has_header_video() && is_header_video_active() ) {
    14401456                wp_enqueue_script( 'wp-custom-header' );
    14411457                wp_localize_script( 'wp-custom-header', '_wpCustomHeaderSettings', get_header_video_settings() );
    14421458        }
     
    20482064                                'admin-head-callback' => '',
    20492065                                'admin-preview-callback' => '',
    20502066                                'video' => false,
     2067                                'video-active-callback' => 'is_front_page',
    20512068                        );
    20522069
    20532070                        $jit = isset( $args[0]['__jit'] );