【问题标题】:Filters Blogger posts on a specific page过滤特定页面上的 Blogger 帖子
【发布时间】:2020-03-14 11:45:04
【问题描述】:

我又来找你了。查看我的代码。

我正在尝试过滤来自特定标签的文章,以便它们只出现在静态页面上。

我只能在主页上这样做。

当我尝试在特定页面上执行相同操作时,什么也没有出现。

这是在主页上运行的代码。

<b:if cond='data:blog.pageType == "static_page"'>

<b:section id='posts-noticias'>

    <b:widget id='Blog2' locked='true' title='Blog Archive' type='Blog'>

    <b:includable id='main' var='top'>
       <b:if cond='data:blog.pageType == "static_page"'>
    <b:loop values='data:posts where (p=&gt; p.labels any (l=&gt; l.name == &quot; TAG &quot;)) take 6' var='post'>
      <b:include data='post' name='printPosts'/>
    </b:loop>
    <b:else/>
    <b:include data='post' name='printPosts'/>
  </b:if>
</b:includable>

    <b:includable id='printPosts' var='post'>

<div class='post hentry' style="background-color: #ffff00; border-width:1px; border-style: solid; border-color: #000000; height: 200px">
<b:if cond='data:blog.pageType != &quot;item&quot;'>
<b:if cond='data:post.title'>
<h2 class='post-title entry-title'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link'><data:post.title/></a>
<b:else/>
<b:if cond='data:post.url'>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</b:if>
</h2>
</b:if>
<b:else/>

</b:if>
<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
<b:if cond='data:blog.pageType != &quot;item&quot;'>
<div class='cutter'>
<b:if cond='data:post.isFirstPost'> 


</b:if>

<a expr:alt='data:post.title' expr:href='data:post.url' expr:title='data:post.title'>
<div class='Image thumb'>
<img expr:alt='data:post.title' expr:src='resizeImage(data:post.firstImageUrl, 200, "150:70")' expr:title='data:post.title'/>
</div>
</a>
</div>

</b:if></b:if>

<div class='post-body entry-content' expr:id='&quot;post-body-&quot; + data:post.id'>

<b:if cond='data:blog.pageType == &quot;item&quot;'>

</b:if>

<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
<b:if cond='data:blog.pageType != &quot;item&quot;'>
   <b:eval expr='snippet(data:post.body, {length: 100, links: false})'/>
</b:if>
</b:if>

</div>

</div>


</b:includable>
</b:widget>
</b:section>

</b:if>

我所做的唯一更改是将条件主页更改为静态页面。

【问题讨论】:

    标签: html xml blogger blogger-dynamic-views


    【解决方案1】:

    在单个帖子页面和静态页面上,您只能通过data:posts循环获取一个帖子数据。

    您可以做的是使用带有 JavaScript 的 Blogger JSON 提要来获得您想要的内容。

    例如:此代码获取您博客上的前六个标题。

    <div id="foo"></div>
    <script>
      //<![CDATA[
        fetch('/feeds/posts/summary?alt=json&max-results=6')
        .then(response => response.json()).then(json => {
            let posts = json.feed.entry.map(e => `<h2>${e.title.$t}</h2>`);
            document.getElementById('foo').innerHTML = posts.join('');
        });
      //]]>
    </script>
    

    【讨论】:

    • 您好,感谢您的回复,我已经知道我可以用 java / script 做到这一点,但我想创建一个类似于 wordpress 的静态页面,并在其上显示来自标签的文章,/搜索/标签/这样做了,但博主没有索引这些页面,所以我想我会创建一个包含动态内容的特定页面。
    • @resumo,没有搜索引擎不索引的页面,你只需要正确的配置。
    • 您好,我碰巧正在使用 Blogger 发布文章,并且在 googlewebmaster 控制台中将搜索/标签页面设置为不索引。在我的搜索中,谷歌自动屏蔽了这个页面。谷歌似乎对更改这些设置的博客进行了处罚。
    • @resumo 您可能需要检查您的 robots.txt 文件并更改一些规则以允许索引标签页面,但这不是 seo 友好的选择。
    猜你喜欢
    • 2015-10-14
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多