Search code examples
javascripthtmlblogsblogger

Display posts on blogger based on Label?


  • I need to make my homepage to display posts based on a certain label.
  • I don't want all posts to show up at the section of homepage posts.
  • I searched for away on Google Search and I found away that you recode something to hide all labels except the one you want to show, but its so bad since it kills other codes on the blogger.
  • Anyone would re-code it for me so the homepage displays only "J" label ?

Here is my blog : https://torrgamez.blogspot.com/

I think a re-code needed here, this is the post section in my HTML:

    <!-- posts -->
<div class='blog-posts hfeed'>

  <b:include data='top' name='status-message'/>

  <data:defaultAdStart/>
  <b:loop values='data:posts' var='post'>
    <b:if cond='data:post.isDateStart'>
      <b:if cond='data:post.isFirstPost == &quot;false&quot;'>
        &lt;/div&gt;&lt;/div&gt;
      </b:if>
    </b:if>
    <b:if cond='data:post.isDateStart'>
      &lt;div class=&quot;date-outer&quot;&gt;
    </b:if>
    <b:if cond='data:post.dateHeader'>
      <h2 class='date-header'><span><data:post.dateHeader/></span></h2>
    </b:if>
    <b:if cond='data:post.isDateStart'>
      &lt;div class=&quot;date-posts&quot;&gt;
    </b:if>
    <div class='post-outer'>
    <b:include data='post' name='post'/>
    <b:if cond='data:blog.pageType == &quot;static_page&quot;'>
      <b:if cond='data:post.showThreadedComments'>
        <b:include data='post' name='threaded_comments'/>
      <b:else/>
        <b:include data='post' name='comments'/>
      </b:if>
    </b:if>
    <b:if cond='data:blog.pageType == &quot;item&quot;'>
      <b:if cond='data:post.showThreadedComments'>
        <b:include data='post' name='threaded_comments'/>
      <b:else/>
        <b:include data='post' name='comments'/>
      </b:if>
    </b:if>
    </div>
    <b:if cond='data:post.includeAd'>
      <b:if cond='data:post.isFirstPost'>
        <data:defaultAdEnd/>
      <b:else/>
        <data:adEnd/>
      </b:if>
      <div class='inline-ad'>
        <data:adCode/>
      </div>
      <data:adStart/>
    </b:if>
  </b:loop>
  <b:if cond='data:numPosts != 0'>
    &lt;/div&gt;&lt;/div&gt;
  </b:if>
  <data:adEnd/>
</div>


Solution

  • Replace <b:include data='post' name='post'/> with the next

    <b:if cond='data:blog.url == data:blog.homepageUrl'>
        <b:loop values='data:post.labels' var='label'>
            <b:if cond='data:label.isLast == "true"'>
                <b:if cond='data:label.name == "J"'>
                    <b:include data='post' name='post' />
                </b:if>
            </b:if>
        </b:loop>
    <b:else/>
        <b:include data='post' name='post' />
    </b:if>
    

    Your code

    <div class='blog-posts hfeed'>
    
      <b:include data='top' name='status-message'/>
    
      <data:defaultAdStart/>
      <b:loop values='data:posts' var='post'>
        <b:if cond='data:post.isDateStart'>
          <b:if cond='data:post.isFirstPost == &quot;false&quot;'>
            &lt;/div&gt;&lt;/div&gt;
          </b:if>
        </b:if>
        <b:if cond='data:post.isDateStart'>
          &lt;div class=&quot;date-outer&quot;&gt;
        </b:if>
        <b:if cond='data:post.dateHeader'>
          <h2 class='date-header'><span><data:post.dateHeader/></span></h2>
        </b:if>
        <b:if cond='data:post.isDateStart'>
          &lt;div class=&quot;date-posts&quot;&gt;
        </b:if>
        <div class='post-outer'>
        <b:if cond='data:blog.url == data:blog.homepageUrl'>
          <b:loop values='data:post.labels' var='label'>
              <b:if cond='data:label.isLast == "true"'>
                  <b:if cond='data:label.name == "J"'>
                      <b:include data='post' name='post' />
                  </b:if>
              </b:if>
          </b:loop>
        <b:else/>
          <b:include data='post' name='post' />
        </b:if>
        <b:if cond='data:blog.pageType == &quot;static_page&quot;'>
          <b:if cond='data:post.showThreadedComments'>
            <b:include data='post' name='threaded_comments'/>
          <b:else/>
            <b:include data='post' name='comments'/>
          </b:if>
        </b:if>
        <b:if cond='data:blog.pageType == &quot;item&quot;'>
          <b:if cond='data:post.showThreadedComments'>
            <b:include data='post' name='threaded_comments'/>
          <b:else/>
            <b:include data='post' name='comments'/>
          </b:if>
        </b:if>
        </div>
        <b:if cond='data:post.includeAd'>
          <b:if cond='data:post.isFirstPost'>
            <data:defaultAdEnd/>
          <b:else/>
            <data:adEnd/>
          </b:if>
          <div class='inline-ad'>
            <data:adCode/>
          </div>
          <data:adStart/>
        </b:if>
      </b:loop>
      <b:if cond='data:numPosts != 0'>
        &lt;/div&gt;&lt;/div&gt;
      </b:if>
      <data:adEnd/>
    </div>