什么是自定义徽标?
使用自定义徽标( Logo ),网站所有者可以上传其网站的图片,该图片可以放置在其网站的顶部。可以从管理面板中的“ 外观”>“页眉”上传。自定义徽标支持应先使用add_theme_support()
添加到主题中,然后使用the_custom_logo()
在主题中调用。自定义徽标是可选的,但是主题作者如果在其主题中包含徽标,则应使用此功能。
为主题添加自定义徽标支持
要在主题中启用自定义徽标,请在functions.php
文件中添加以下内容:
add_theme_support( 'custom-logo' );
启用自定义徽标支持时,可以通过add_theme_support()
使用数组将参数传递给函数来配置五个参数:
function themename_custom_logo_setup() {
$defaults = array(
'height' => 100,
'width' => 400,
'flex-height' => true,
'flex-width' => true,
'header-text' => array( 'site-title', 'site-description' ),
);
add_theme_support( 'custom-logo', $defaults );
}
add_action( 'after_setup_theme', 'themename_custom_logo_setup' );
使用after_setup_theme
挂钩,以便在加载主题之后注册自定义徽标支持。
height
预期徽标高度(以像素为单位)。自定义徽标也可以使用内置的图像尺寸,例如thumbnail
,或使用add_image_size()
来注册自定义尺寸。width
预期徽标宽度(以像素为单位)。自定义徽标也可以使用内置的图像尺寸,例如thumbnail
,或使用add_image_size()
来注册自定义尺寸 。flex-height
是否允许灵活的高度。flex-width
是否允许灵活的宽度。header-text
要隐藏的元素的类。它可以在此处为构成页眉文本的所有元素传递一个类名数组,这些页眉文本可以用徽标替换。
在主题中显示自定义徽标
可以使用函数 the_custom_logo()
在主题中显示自定义徽标 。但是建议将代码包装在 function_exists()
调用,以保持与旧版本WordPress的向后兼容性,如下所示:
if ( function_exists( 'the_custom_logo' ) ) {
the_custom_logo();
}
通常,徽标会添加到header.php
主题文件中,但也可以在其他位置。
如果要获取当前的徽标网址(或使用自己的标记)而不是默认标记,则可以使用以下代码:
$custom_logo_id = get_theme_mod( 'custom_logo' );
$logo = wp_get_attachment_image_src( $custom_logo_id , 'full' );
if ( has_custom_logo() ) {
echo '<img src="' . esc_url( $logo[0] ) . '" alt="' . get_bloginfo( 'name' ) . '">';
} else {
echo '<h1>'. get_bloginfo( 'name' ) .'</h1>';
}
自定义徽标模板标签
要管理在前端显示自定义徽标,可以使用以下三个模板标签:
get_custom_logo()
– 返回自定义徽标的标记。the_custom_logo()
– 显示自定义徽标的标记。has_custom_logo()
– 检测是否设置了自定义徽标,如果设置了,返回布尔值 true,反之返回 false。