bennothommo / wn-meta-plugin
提供了一种简单的方法,将HTML元标签和链接标签插入到Winter CMS布局或页面中。
Requires
- php: >=7.0.8
- composer/installers: ~1.0
This package is auto-updated.
Last update: 2024-09-18 22:31:06 UTC
README
提供了一种简单的方法,允许Winter CMS插件将HTML <meta>
和 <link>
标签以及JSON-LD块插入到布局或页面中。该插件提供了三个辅助类来填充元标签和链接标签或JSON-LD块,并为每个组件提供了一个注入Winter CMS布局、部分或页面文件的组件。
使用方法
对于主题开发者
提供了三个组件,可以将元标签和链接标签或JSON-LD块注入到您的主题中 - metaList、linkList 和 jsonLdList。
元标签
将“Meta -> Meta List”组件添加到您的页面中,并在您想插入元标签的位置添加以下行。这最好在 <head>
标签内进行。
{% component 'metaList' %}
元标签将以以下结构生成
<meta name="(name)" content="(value)">
组件还提供了以下两个选项
- 包含页面元标签?:如果勾选(默认),则Winter CMS提供的元标题和描述字段也将包含在生成的元标签中。
- 转义标签值?:如果勾选(默认),则插入到
content
属性中的值将使用htmlentities
转义。如果这破坏了您的内容,您可以选择不勾选以插入原始内容。
链接标签
将“Meta -> Link List”组件添加到您的页面中,并在您想插入链接标签的位置添加以下行。如上所述,这也最好在 <head>
标签内进行。
{% component 'linkList' %}
链接标签将以以下结构生成
<link rel="(name)" href="(value)">
组件还提供了一个选项
- 转义标签值?:如果勾选(默认),则插入到
href
属性中的值将使用htmlentities
转义。如果这破坏了您的内容,您可以选择不勾选以插入原始内容。
JSON-LD块
将“Meta -> JSON-LD List”组件添加到您的页面中,并在您想插入JSON-LD块的位置添加以下行。如上所述,这也最好在 <head>
标签内进行,在所有 <meta>
和 <link>
标签之后。
{% component 'jsonLdList' %}
JSON-LD块将以以下结构生成
<script type="application/ld+json">
(value)
</script>
组件还提供了一个选项
- 转义JSON-LD内容?:如果勾选(默认),则插入到JSON-LD内容块中的值将使用
htmlentities
转义。如果这破坏了您的内容 - 尤其是在HTML内容的情况下,您可以选择不勾选以插入原始内容。
对于插件开发者
如果您希望在使用此插件时,在您的插件安装的网站上提供元标签和链接标签或JSON-LD块内容,您可以在您的插件中使用 \BennoThommo\Meta\Meta
、\BennoThommo\Meta\Link
和 \BennoThommo\Meta\JsonLd
辅助类。
这些类可以在上述组件在Winter CMS中渲染之前使用。
元标签
要添加元标签,请使用以下行
\BennoThommo\Meta\Meta::set('name', 'value')
其中 name
是元标签的名称,value
是元标签的内容。
您也可以一次添加多个元标签。
\BennoThommo\Meta\Meta::set([
'name1' => 'value1',
'name2' => 'value2'
]);
请注意,每个 name
只能使用一个值。如果在一个较新的对辅助函数的调用中使用相同的名称,所提供的值将覆盖任何先前的值。
链接标签
要添加链接标签,使用以下行
\BennoThommo\Meta\Link::set('name', 'value')
其中 name
是链接标签的名称,value
是链接标签的 href。
您也可以一次添加多个链接标签。
\BennoThommo\Meta\Link::set([
'name1' => 'value1',
'name2' => 'value2'
]);
请注意,每个 name
只能使用一个值。如果在一个较新的对辅助函数的调用中使用相同的名称,所提供的值将覆盖任何先前的值。
JSON-LD块
要添加 JSON-LD 块,使用以下行
\BennoThommo\Meta\JsonLd::set('name', '{key: value}')
其中 name
是 JSON-LD 块的名称,value
是您希望在该块中使用的 JSON 编码内容。
将检查所有提供的值以确保它们是有效的 JSON - 如果提供的值不是有效的 JSON 内容,将抛出 ApplicationException
。
您也可以一次添加多个 JSON-LD 块。
\BennoThommo\Meta\JsonLd::set([
'name1' => '{key1: value1}',
'name2' => '{key2: value2}'
]);