Function and usage of get_header_video_url() in wordpress


Answers ( 1 )


    The get_header_video_url() function in WordPress is designed for managing the video URL in a website's header. Here's a detailed explanation and sample usage:

    Function Signature:

    get_header_video_url(): string|false


    • Retrieves the header video URL for a custom header.


    • This function checks for a video set as part of the website's custom header.
    • It prioritizes a locally hosted video (uploaded to the WordPress site).
    • If no local video is set, it then checks for an external video URL.
    • This is commonly used in themes where the header can display a video background.

    Return Value:

    • Type: string or false
    • Description: It returns the URL of the header video as a string. If there is no header video set, either locally or externally, it returns false.

    Sample Usage:


    You want to display a video in the header of your website, and you need to retrieve the URL of this video to use in your theme's template file.

    Example Code:

    // In your theme's header.php or a relevant template file
    $header_video_url = get_header_video_url();
    if ( $header_video_url ) {
        // If a header video URL is found
        echo '<video autoplay loop muted>';
        echo '<source src="' . esc_url( $header_video_url ) . '" type="video/mp4">';
        echo 'Your browser does not support the video tag.';
        echo '</video>';
    } else {
        // Fallback if no video is set
        echo '<img src="' . get_header_image() . '" alt="Header Image">';

    In this example:

    1. The function get_header_video_url() is called to retrieve the video URL.
    2. If the URL exists, a <video> tag is used to embed the video.
    3. If the URL does not exist (returns false), a fallback header image is displayed using get_header_image().

    This example demonstrates how to use get_header_video_url() in a practical scenario, allowing for dynamic header content based on the site's configuration.

Leave an answer