Design System is here - Read the release post

Learn GeneratePress

Developers

Logo and site title filters

Filters for the logo and site title, including the GP Premium mobile header and navigation logo.

Jump to

GP Free

The generate_logo filter allows you to change your logo.

Parameters: $value (URL). Default: Your logo set in Customize > Site Identity.

add_filter( 'generate_logo', function( $logo ) {
      // Return our category logo URL
    if ( is_category() ) {
        return 'URL TO YOUR CATEGORY LOGO';
    }

    // Otherwise, return our default logo
    return $logo; 
 } );
add_filter( 'generate_logo', function( $logo ) {
    if ( ICL_LANGUAGE_CODE == 'en' ) {
        return 'URL TO ENGLISH LOGO';
    }

    return $logo;
} );

Related: generate_logo_output Guide: Site Identity & Logo

generate_logo_href

GP Free

The generate_logo_href filter allows you to change the URL destination of your logo.

Parameters: $value (string). Default: Your URL set in Settings > General.

add_filter( 'generate_logo_href', function() {
    return "https://NEW-URL-HERE";
} );

Guide: Site Identity & Logo

generate_logo_output

GP Free

The generate_logo_output filter allows us to alter the HTML of our logo.

Parameters: $value. Default: shown right, computed at render time:

sprintf(
				'<div class="site-logo">
					<a href="%1$s" rel="home">
						<img %2$s />
					</a>
				</div>',
				esc_url( apply_filters( 'generate_logo_href', home_url( '/' ) ) ),
				$html_attr
			)
add_filter( 'generate_logo_output','tu_logo_atts', 10, 2 ); 
function tu_logo_atts( $output, $logo ) {
	printf(
		'<div class="site-logo">
			<a href="%1$s" title="%2$s" rel="home">
				<img width="999" height="999" class="header-image" src="%3$s" alt="%2$s" title="%2$s" />
			</a>
		</div>',
		esc_url( apply_filters( 'generate_logo_href' , home_url( '/' ) ) ),
		esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) ),
		esc_url( apply_filters( 'generate_logo', $logo ) )
	);
}
add_filter( 'generate_logo_output', 'tu_logo_class', 10, 3 );
function tu_logo_class( $output, $logo_url, $html_attr ) {
	printf(
		'<div class="site-logo MY-CUSTOM-CLASS">
			<a href="%1$s" title="%2$s" rel="home">
				<img %3$s />
			</a>
		</div>',
		esc_url( apply_filters( 'generate_logo_href' , home_url( '/' ) ) ),
		esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) ),
		$html_attr
	);
}
add_filter( 'generate_logo_output', 'tu_logo_target', 10, 3 );
function tu_logo_target( $output, $logo_url, $html_attr ) {
	printf(
		'<div class="site-logo">
			<a href="%1$s" title="%2$s" rel="home" target="_blank" rel="noopener">
				<img %3$s />
			</a>
		</div>',
		esc_url( apply_filters( 'generate_logo_href' , home_url( '/' ) ) ),
		esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) ),
		$html_attr
	);
}
add_filter( 'generate_logo_output', 'tu_no_logo_link', 10, 3 );
function tu_no_logo_link( $output, $logo_url, $html_attr ) {
	printf(
		'<div class="site-logo">
			<img %1$s />
		</div>',
		$html_attr
	);
}

Related: generate_logo Guide: Site Identity & Logo

generate_logo_title

GP Free

The generate_logo_title filter allows you to change the ALT tag of your logo.

Parameters: $value (string). Default: Your Site Title set in Customizer > Site Identity.

add_filter( 'generate_logo_title', 'tu_change_logo_alt' );
function tu_change_logo_alt() {
    return 'Your alt title';
}

Guide: Site Identity & Logo

Back to top

Mobile header logo (GP Premium)

GP Premium — Elements module.

The generate_mobile_header_logo filter allows you to change the mobile header logo.

Parameters: $value (URL). Default: Your logo set in Customize > Layout > Header.

add_filter( 'generate_mobile_header_logo','lh_category_mobile_header_logo' );
function lh_category_mobile_header_logo( $logo ) {
    
    // Return our category logo URL
    if ( is_category() ) {
        return 'URL TO YOUR CATEGORY LOGO';
    }

    // Otherwise, return our default logo
    return $logo;
}

Related: generate_mobile_header_logo_output Guide: Header

generate_mobile_header_logo_output

GP Premium — Menu Plus module.

The generate_mobile_header_logo_output filter allows us to alter the HTML of our mobile header logo.

Parameters: $value. Default: shown right, computed at render time:

sprintf(
					'<div class="site-logo mobile-header-logo">
						<a href="%1$s" title="%2$s" rel="home">
							<img src="%3$s" alt="%4$s" class="is-logo-image" width="%5$s" height="%6$s" />
						</a>
					</div>',
					esc_url( apply_filters( 'generate_logo_href', home_url( '/' ) ) ),
					esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) ),
					esc_url( apply_filters( 'generate_mobile_header_logo', $image_url ) ),
					esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) ),
					! empty( $image_width ) ? absint( $image_width ) : '',
					! empty( $image_height ) ? absint( $image_height ) : ''
				)
add_filter( 'generate_mobile_header_logo_output', function( $output ) {
    if ( ! function_exists( 'generate_menu_plus_get_defaults' ) ) {
        return $output;
    }

    $settings = wp_parse_args(
        get_option( 'generate_menu_plus_settings', array() ),
        generate_menu_plus_get_defaults()
    );

    return sprintf(
        '<div class="site-logo mobile-header-logo">
            <a href="%1$s" title="%2$s" rel="home">
                <img src="%3$s" data-no-lazy="1" alt="%4$s" />
            </a>
        </div>',
        esc_url( apply_filters( 'generate_logo_href' , home_url( '/' ) ) ),
        esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) ),
        esc_url( apply_filters( 'generate_mobile_header_logo', $settings['mobile_header_logo'] ) ),
        esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) )
    );
} );
add_filter( 'generate_mobile_header_logo_output', function( $output ) {
    if ( ! function_exists( 'generate_menu_plus_get_defaults' ) ) {
        return $output;
    }

    $settings = wp_parse_args(
        get_option( 'generate_menu_plus_settings', array() ),
        generate_menu_plus_get_defaults()
    );

    return sprintf(
        '<div class="site-logo mobile-header-logo">
            <a href="%1$s" title="%2$s" rel="home">
                <img src="%3$s" width="999" height="999" alt="%4$s" />
            </a>
        </div>',
        esc_url( apply_filters( 'generate_logo_href' , home_url( '/' ) ) ),
        esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) ),
        esc_url( apply_filters( 'generate_mobile_header_logo', $settings['mobile_header_logo'] ) ),
        esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) )
    );
} );

Related: generate_mobile_header_logo Guide: Header

Back to top

GP Premium — Elements module.

The generate_navigation_logo filter allows you to change the navigation logo.

Parameters: $value (URL). Default: Your logo set in Customize > Layout > Primary Navigation.

add_filter( 'generate_navigation_logo','lh_category_navigation_logo' );
function lh_category_navigation_logo( $logo ) {
    
    // Return our category logo URL
    if ( is_category() ) {
        return 'URL TO YOUR CATEGORY LOGO';
    }

    // Otherwise, return our default logo
    return $logo;
}

Related: generate_navigation_logo_output Guide: Navigation

generate_navigation_logo_output

GP Premium — Menu Plus module.

The generate_navigation_logo_output filter allows us to alter the HTML of our navigation logo.

Parameters: $value. Default: shown right, computed at render time:

sprintf(
				'<div class="site-logo sticky-logo navigation-logo">
					<a href="%1$s" title="%2$s" rel="home">
						<img src="%3$s" alt="%4$s" class="is-logo-image" />
					</a>
				</div>',
				esc_url( apply_filters( 'generate_logo_href', home_url( '/' ) ) ),
				esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) ),
				esc_url( apply_filters( 'generate_navigation_logo', $settings['sticky_menu_logo'] ) ),
				esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) )
			)
add_filter( 'generate_navigation_logo_output','lh_change_navigation_logo_output' );
function lh_change_navigation_logo_output( $output ) {
	return sprintf(
		'<div class="site-logo sticky-logo navigation-logo">
				<img class="header-image" src="%1$s" alt="%2$s" />
		</div>',
		'http://LOGO-URL-HERE',
		esc_attr( apply_filters( 'generate_logo_title', get_bloginfo( 'name', 'display' ) ) )
	);
}

Related: generate_navigation_logo Guide: Navigation

Back to top

Site title

generate_site_title_href

GP Free

The generate_site_title_href filter allows you to change the URL destination of your site title.

Parameters: $value (string). Default: Your URL set in Settings > General.

add_filter( 'generate_site_title_href', function( $value ) {
    return $value;
} );

Guide: Site Identity & Logo

generate_site_title_output

GP Free

The generate_site_title_output allows allows us to alter the HTML of our site title.

Parameters: $value. Default: shown right, computed at render time:

sprintf(
				'<%1$s class="main-title"%4$s>
					<a href="%2$s" rel="home">%3$s</a>
				</%1$s>',
				( is_front_page() && is_home() ) ? 'h1' : 'p',
				esc_url( apply_filters( 'generate_site_title_href', home_url( '/' ) ) ),
				get_bloginfo( 'name' ),
				'microdata' === generate_get_schema_type() ? ' itemprop="headline"' : ''
			)
add_filter( 'generate_site_title_output', function( $output ) {
	return sprintf(
		'<%1$s class="main-title" %3$s>
		    %2$s
		</%1$s>',
		( is_front_page() && is_home() ) ? 'h1' : 'p',
		get_bloginfo( 'name' ),
                'microdata' === generate_get_schema_type() ? ' itemprop="headline"' : ''
	);
});

Guide: Site Identity & Logo

Back to top