WordPress调用默认站点图标函数

网站APP 5 年前 回复

, , ,

WordPress 4.3 新增了一个站点图标功能,允许站长设置网站在桌面或手机中的网站图标(favicon)。站点图标这个功能是独立于主题的,也就是无需修改主题来支持。

站点图标的默认尺寸

WordPress 站点图标默认支持以下4种尺寸:

32x32px favicon.图标
180x180px iOS苹果图标,支持 iPhone 6+
192x192px 安卓/谷歌浏览器图标 Android/Chrome app icon
270x270px Windows系统中等图标

站点图标的API

公开API也非常简单:

wp_site_icon() 显示所有可用的 favicon 图标和 app 图标
get_site_icon_url() 返回当前站点图标的url,或者缺省时的默认值
site_icon_url() 显示当前站点图标的转义版本的url
has_site_icon() 返回当前网站是否设置了站点图标

在这一点上,我们希望主题作者不要使用站点图标作为网站前端的Logo标志(站点图标不同于Logo)。因为这样做不符合站点图标的目的。
自定义站点图标

插件作者可以添加自定义尺寸的站点图标,可以通过 site_icon_image_sizes 和 site_icon_meta_tags 这两个过滤钩子来实现,代码样例如下:

<?php
 
function prefix_custom_site_icon_size( $sizes ) {
   $sizes[] = 64;
 
   return $sizes;
}
add_filter( 'site_icon_image_sizes', 'prefix_custom_site_icon_size' );
 
function prefix_custom_site_icon_tag( $meta_tags ) {
   $meta_tags[] = sprintf( '<link rel="icon" href="%s" sizes="64x64" />', esc_url( get_site_icon_url( null, 64 ) ) );
 
   return $meta_tags;
}
add_filter( 'site_icon_meta_tags', 'prefix_custom_site_icon_tag' );

自定义控件

Nick Halsey 已经发布了一篇 关于在新的自定义控件里管理站点图标 的文章。新的控件可以为主题和插件作者提供需要裁剪图标的自定义功能,比如,管理Logo。

$wp_customize->add_control( new WP_Customize_Cropped_Image_Control( $wp_customize, 'cropped_image', array(
    'section'     => 'background_image',
    'label'       => __( 'Croppable Image' ),
    'flex_width'  => true, // Allow any width, making the specified value recommended. False by default.
    'flex_height' => false, // Require the resulting image to be exactly as tall as the height attribute (default).
    'width'       => 1920,
    'height'      => 1080,
) ) );

参考资料:https://make.wordpress.org/core/2015/07/27/site-icon/

本文摘自:https://www.wpdaxue.com/wordpress-4-3-site-icon.html

支付宝打赏微信打赏

如果此文对你有帮助,欢迎打赏作者。

发表评论

欢迎回来 (打开)

(必填)