隐藏标签后如何检查Blogger帖子是否具有特定标签?

问题描述 投票:0回答:1

我的所有Blogger帖子都有标签,但是我选择不在我的Blogger网站上显示它们。在我的[[Blogger仪表板->帖子上,我仍然可以看到每个帖子的所有标签,并按标签对它们进行过滤,这是我想要的。但是,当我尝试检查当前帖子是否具有特定标签(确实具有标签)时,以下代码不起作用(就在</body>之前):

<b:section id="testSection" name="Test Section"> <b:if cond='data:posts any (p => p.labels any (l => l.name == "Label1"))'> <script type="text/javascript"> console.log("Label1"); </script> <link href='post-style-for-label1.css' rel='stylesheet' type='text/css'/> </b:if> </b:section>
我读了answer here,说我们无法检查data:post.labels 

外部Blog窗口小部件

,但是当我将其放在窗口小部件中时,它说窗口小部件不能包含<b:if>-这就是为什么我将其放在<b:section>下。但是最后,我仍然无法使我的代码检测到Label1。我尝试了以下代码,但也无法正常工作:<b:if cond='data:post.labels any (label => label.name == "Label1")'> <script type="text/javascript"> console.log("Label1"); </script> <link href='post-style-for-label1.css' rel='stylesheet' type='text/css'/> </b:if>
如果我没记错的话,我已经删除了显示标签的代码,但是为了使代码正常工作,是否需要在网站上显示标签?我对此表示怀疑,因为Blogger的每条帖子都具有我的所有标签。如何使我的代码正常工作?预先感谢。
blogger
1个回答
1
投票
Blogger主题提供了几种类型的小部件,例如Header,Blog,个人资料...(26种),每种类型都有其数据标签。在您的示例中,data:post.labels属于窗口小部件类型

Blog,因此,您不能在窗口小部件标签之外使用它。

此外,小部件只能包含b:includeable标记(类似于Javascript中的函数)

如果主题已经具有博客窗口小部件,则将代码放置在带有b:includable的标记id='main'中,否则,请创建一个类似于以下内容的代码:

<b:widget id='Blog1' type='Blog'> <b:includable id='main'> <b:loop values='data:posts' var='post'> <b:if cond='data:post.labels any (label => label.name == "Label1")'> <script type="text/javascript"> console.log("Label1"); </script> </b:if> </b:loop> </b:includable> </b:widget>

© www.soinside.com 2019 - 2024. All rights reserved.