以编程方式设置站点图标(例如,使用`wp剪辑`)

时间:2019-03-02 作者:friism

Wordpress有一个"Site Icon" 为浏览器提供大小正确的Favicon等功能。是否有办法通过编程方式驱动此功能,例如通过上载媒体并设置选项wp cli?

3 个回复
SO网友:Rick Hellewell

有关网站图标的“官方规则”如下:https://www.w3.org/TR/html5/links.html#link-type-icon .

它们提供了多种尺寸的站点图标示例:

<link rel=icon href=favicon.png sizes="16x16" type="image/png">
  <link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon">
  <link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768">
  <link rel=icon href=iphone.png sizes="57x57" type="image/png">
  <link rel=icon href=gnome.svg sizes="any" type="image/svg+xml">
上面的链接还指定“link rel=icon…”未指定,则为/favicon。将使用ico文件(在站点根目录中)。

它还指出:

如果提供了多个图标,用户代理必须根据类型、媒体和大小属性选择最合适的图标

(“用户代理”是呈现站点的浏览器。)

此外,请参见此处的一个答案https://stackoverflow.com/questions/9943771/adding-a-favicon-to-a-static-html-page 它引用一个应用程序来创建所有不同的图标大小以及使用它们所需的代码:

实际上,要使favicon在所有浏览器中都工作,您必须有10多个大小和格式正确的图像。

我创建了一个应用程序(faviconit.com) 因此,人们不必手动创建所有这些图像和正确的标签。

我尚未尝试引用的应用程序。YMMV。

而且,这个问题/答案可能也很有帮助:https://stackoverflow.com/questions/53464667/best-practice-for-ordering-icon-link-tags-in-html-head .

SO网友:Koubi

我使用wordpress CLI成功设置了wordpress的favicon:

FAVICON_TITLE="mysite-favicon"
FAVICON_PATH="~/dev/favicon.png"
wp media import ${FAVICON_PATH} --title=${FAVICON_TITLE}
FAVICON_ID=$(wp post list --post_type=attachment --post_title=${FAVICON_TITLE} --format=ids)
wp option update site_icon ${FAVICON_ID}

SO网友:Rentringer

使用wp cli命令wp media importwp option update.

wp media import <file> : 从本地文件或URL创建附件。

wp option update <key> : 更新选项值。

Image from theme folder :

$ wp media import "$(wp theme path)/theme/assets/images/logo.png" --porcelain | wp option update site_icon
Image from url :

$ wp media import "https://source.unsplash.com/random/512x512" --porcelain | wp option update site_icon
标志[--瓷]只输出新的附件ID。

References :

https://developer.wordpress.org/cli/commands/media/import/

https://developer.wordpress.org/cli/commands/option/update/