最近把 Wordpress 程序升级到 5.6.2 版本,发现前台和后台的 favicon.ico 图标不同。新版本会自动判断,如果你的 WordPress 网站没有设置 favicon.ico 图标,就会显示一个默认的蓝色 logo 图标。
可能我们和我相同,不怎么喜爱这个默认 favicon.ico 图标,在外观-自定义,上传一个图标到“站点身份”下的站点图标选项中即可;这是由于 WordPress 会先判别你是否设置了这个选项,假如设置了,就显示你设置的这个图标。
我们可以通过 do_faviconico 钩子修改 WordPress 的逻辑,从而达到禁用这个默认图标的功能,也就是如果用户不设置“站点图标”,在后台页面中,不再显示默认的 WordPress logo 小图标。
只需要将下面的代码添加到当前使用主题的 functions.php 中,然后清空你的浏览器缓存,强制刷新或换一个没有访问过你这个网站的浏览器打开,就可以看到效果了。
//禁用 WordPress 默认的 favicon.ico 图标
add_action( 'do_faviconico', function() {
//Check for icon with no default value
if ( $icon = get_site_icon_url( 32 ) ) {
//Show the icon
wp_redirect( $icon );
} else {
//Show nothing
header( 'Content-Type: image/vnd.microsoft.icon' );
}
exit;
} );
WordPress 前台和后台指定不同 favicon.ico 图标
下面代码复制粘贴至主题 functions.php 文件:
//WordPress 前台和后台指定不同 favicon.ico 图标
if ( !function_exists( 'wp_admin_favicon' ) ) {
function wp_admin_favicon() {
echo '<link rel="shortcut icon" href="'.get_bloginfo(%20"template_directory" ).'/images/favicon.ico">';
}
}
add_action( 'admin_head', 'wp_admin_favicon' );
favicon.ico 图标放至主题文件夹 images 目录下即可。