调整Blogger的精选帖子小工具以显示特定标签的近期帖子

时间:2017-07-26 06:20:46

标签: javascript html css blogger

基本上标题说明了一切。你有没有人知道如何调整Blogger的精选帖子小工具,以便它可以只显示来自某个标签的最近帖子,而不是显示我整个网站的最新帖子?我只想要一个小部件,它可以显示我的一个标签上的最新帖子(只有1个帖子)。
这是我网站的链接。我正在谈论的小工具在网站上被称为随机发布:http://newsotuniverse.blogspot.ca/
我还将为您的非Blogger用户提供一些站点代码,以确定您是否可以解决问题:

          <b:widget id='FeaturedPost1' locked='false' title='Random Post' type='FeaturedPost'>
            <b:widget-settings>
              <b:widget-setting name='showSnippet'>true</b:widget-setting>
              <b:widget-setting name='showPostTitle'>true</b:widget-setting>
              <b:widget-setting name='showFirstImage'>true</b:widget-setting>
              <b:widget-setting name='useMostRecentPost'>true</b:widget-setting>
            </b:widget-settings>
            <b:includable id='main'>
  <!-- Only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <b:include name='content'/>

  <b:include name='quickedit'/>
</b:includable>
            <b:includable id='content'>
  <div class='post-summary'>
    <b:if cond='data:showPostTitle and data:postTitle != &quot;&quot;'>
      <h3><a expr:href='data:postUrl'><data:postTitle/></a></h3>
    </b:if>
    <b:if cond='data:showSnippet and data:postSummary != &quot;&quot;'>
      <p>
        <data:postSummary/>
      </p>
    </b:if>
    <b:if cond='data:showFirstImage and data:postFirstImage != &quot;&quot;'>
      <img class='image' expr:src='data:postFirstImage'/>
    </b:if>
  </div>

  <style type='text/css'>
    .image {
      width: 100%;
    }
  </style>
</b:includable>
          </b:widget>

如果有人可以提供帮助,我会非常感激。提前谢谢!

1 个答案:

答案 0 :(得分:0)

更新:我更新了它现在过滤标签label1的帖子的代码。

我没有 认为 这是可能的,因为您无法访问精选帖子中的标签属性数据元素您可以使用Blog Widget替换FeaturedPost Widget,代码如下:

<b:widget id='Blog2' locked='true' title='FeaturedBlog' type='Blog' >
  <b:includable id='main'>
    <div class='post-summary'>
      <b:with var="filteredData" value="data:posts filter (p =&gt; p.labels any ( l =&gt; l.name == &quot;label0&quot; ))">     
        <b:loop values='data:filteredData' var='post' index='index'>
          <b:if cond='data:index == "0"' > 
            <h3><a expr:href='data:post.url'><data:post.title/></a></h3>
            ...
          </b:if>  
        </b:loop>
      </b:with>
   </div>
  <b:include name='quickedit'/>
  </b:includable>
</b:widget>
  • 它不是那么性感,你必须从精选帖子小部件中复制html结构
  • 您必须根据自己的需要更改id='Blog2'
  

过滤的迷你说明:
   data:posts filter (p =&gt; p.labels any ( l =&gt; l.name == &quot;label0&quot; ))
  数据:帖子:获取所有帖子   过滤器:是一个lambda函数,将为所有帖子调用(过滤项目)并仅返回&#34;拟合&#34;项目
  (p =&gt; ...):是外部函数&#34;构造&#34;    p.labels p是当前帖子,labels是当前帖子的标签   任何:是另一个lambda函数,如果有一个&#34;适合&#34;则返回true   (l =&gt; l.name ==&#34; label0&#34;) ...内部函数检查帖子是否有名称为label0的标签

这是指向良好的官方参考网站的链接:http://template-data.blogspot.co.at