Nếu bạn là một lập trình viên, hay đơn giản đang học công nghệ thông tin thì bạn sẽ biết chắc chắn bất kỳ ngôn ngữ lập trình nào cũng có câu (thẻ) điều kiện. Và hôm nay mình muốn nói cho các bạn cụ thể nhất về thẻ điều kiện cho Blogger, để tùy chỉnh một số thứ như tiện ích, css, javascript, html tùy chọn sẽ được hiện ở đâu, trang nào, giúp bạn có một website vượt trội hơn. Về vấn đề sử dụng khá đơn giản nên các bạn có thể yên tâm nếu các bạn không biết gì và lập trình.

Thẻ điều kiện blogger/blogspot

Thẻ điều kiện là gì và dùng để làm gì?

Thẻ điều kiện trong blogspot giúp các bạn tối ưu seo blogspot rất nhiều. Mình lấy ví dụ cho các bạn dễ hiểu, các bạn để ý lên logo của Nguyễn Duy Blog thì các bạn thấy rằng ở trang chủ thì logo này nằm trong thẻ <h1> còn ở các trang khác thì logo nằm trong thẻ <h2>. Và đó cũng chính là công dụng của thẻ điều kiện.

Cùng một vị trí nhưng ở trang này nó có nội dung này mà ở trang khác nó lại có nội dung khác đó là công dụng của thẻ điều kiện.

Cú pháp của một thẻ điều kiện

Thẻ điều kiện của Blogger có cú pháp như sau:

<b:if cond='điều-kiện'> </b:if>

"cond" là viết tắt của Condition có nghĩa là điều kiện, và thuộc tính này sẽ nhận giá trị điều kiện được đặt

Cách dùng thẻ điều kiện

Rất đơn giản các bạn chỉ cần áp dụng cú pháp trên và thêm nội dung cần thêm điều kiện phí trên thẻ đóng </b:if> nói chung là lằm giữa thẻ mở nó b:if và thẻ đóng /b:if và chèn trực tiếp trong Template của bạn.

Tổng hợp thẻ điều kiện

Dưới đây là một số thẻ điều kiện cho blogspot ở phiên bản mới và phiên bản cũ.

0. Thẻ điều kiện cho Layout Mode

<b:if cond='data:view.isLayoutMode'> ... </b:if>

Thẻ này áp dụng cho việc viết CSS cho bố cục

1. Thẻ điều kiện trang chủ (Home)

Mới: <b:if cond='data:view.isHomepage'> … </b:if>

Cũ: <b:if cond='data:blog.url == data:blog.homepageUrl'> … </b:if>

2. Thẻ điều kiện trang Index (Bao gồm /search, /search/label, /search?q=, MultipleItems...)

Mới: <b:if cond='data:view.isMultipleItems'> … </b:if>

Cũ: <b:if cond='data:blog.pageType == "index"'> … </b:if>

3. Thẻ điều kiện cho Bài viết và Trang (Page and Post)

Mới: <b:if cond='data:view.isSingleItem'> … </b:if>

Cũ: <b:if cond='data:blog.pageType in ["item", "static_page"]'> … </b:if>

4. Thẻ điều kiện cho bài viết (Post)

Mới: <b:if cond='data:view.isPost'> … </b:if>

Cũ: <b:if cond='data:blog.pageType == "item"'> … </b:if>

5. Thẻ điều kiện cho trang tĩnh (Page)

Mới: <b:if cond='data:view.isPage'> … </b:if>

Cũ: <b:if cond='data:blog.pageType == "static_page"'> … </b:if>

6. Thẻ điều kiện cho trang Search Label

Mới: <b:if cond='data:view.isLabelSearch'> … </b:if>

Cũ: <b:if cond='data:blog.searchLabel'> … </b:if>

7. Thẻ điều kiện cho trang Lưu trữ (Archive Pages)

Mới: <b:if cond='data:view.isArchive'> … </b:if>

Cũ: <b:if cond='data:blog.pageType == "archive"'> … </b:if>

8. Thẻ điều kiện cho trang Tìm kiếm (Search Page)

Mới: <b:if cond='data:view.isSearch'> … </b:if>

Cũ: <b:if cond='data:blog.searchQuery'> … </b:if>

9. Thẻ điều kiện cho trang báo lỗi (Error 404)

Mới: <b:if cond='data:view.isError'> … </b:if>

Cũ: <b:if cond='data:blog.pageType == "error_page"'> … </b:if>

10. Thẻ điều kiện cho trang xem trước (Preview Page)

 <b:if cond='data:view.isPreview'> … </b:if>

11. Thẻ điều kiện cho mobile


Mới: <b:if cond='data:blog.isMobile'>...</b:if>

Cũ: <b:if cond='data:blog.isMobile == "true" '>...</b:if>


12. Thẻ điều kiện kết hợp if else cho mobile và desktop

<b:if cond='data:blog.isMobile'>

    Nội dung chỉ hiển thị trên mobile

    <b:else />

    Nội dung chỉ hiển thị trên desktop

</b:if>

13. Áp dụng cho 1 nhãn duy nhất

<b:if cond='data:view.isLabelSearch == "blogger"'>

    Nội dung chỉ hiển thị khi search label tên blogger

</b:if>

14. Áp dụng cho tất cả bài viết có nhãn blogger (đặt trong vòng lặp)

<b:if cond='data:post.labels any (l => l.name == "blogger")'>

    Dành cho nhãn có tên Blogspot

</b:if>

15. Thẻ điều kiện không dùng cho trang search label

<b:if cond='!data:view.isLabelSearch'> … </b:if>


16. Thẻ điều kiện không dùng cho trang chủ

<b:if cond='!data:view.isHomepage'> … </b:if>

Hoặc

<b:if cond='data:blog.url != data:blog.homepageUrl'> … </b:if>

17. Thẻ điều kiện cho 1 link duy nhất bất kỳ tự đặt

<b:if cond='data:blog.url == "Link duy nhất"'> … </b:if>

18. Thẻ điều kiện cho 1 trong các label

<b:if cond='data:view.search.label in ["blog", "templalte", "giaodienblognet"]'>

 Nội dung hiển thị cho các label trên

</b:if>

19. Thẻ điều kiện không dùng trong các label

<b:if cond='data:view.search.label not in ["blog", "templalte", "giaodienblognet"]'>

 Nội dung hiển thị cho các label trên

</b:if>


20. Thẻ điều kiện kết hợp if else cho label

<b:if cond='data:view.search.label in ["template", "blog", "adsense"]'>

    Dành cho label có tên

    <b:elseif cond='data:view.search.label not in ["theme", "css"]' />

    Dành cho label không có tên

    <b:else />

    Còn lại mặc định

</b:if>

21. Thẻ điều kiện if else khác cho label

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

    Nội dung hiển thị cho khi search label blog

    <b:elseif cond='data:blog.searchLabel == "thu-thuat-blog"' />

    Nội dung hiển thị cho khi search label thu-thuat-blog

    <b:else />

    Mặc định còn lại

</b:if>

22. Thẻ điều kiện dành cho tác giả nào đó

<b:if cond='data:displayname == "author-name"'>

Nội dung hiển thị chỉ dảnh cho tác giả 'author-name'

</b:if>

23. Thẻ điều kiện tìm kiếm cho 1 từ khóa nào đó

<b:if cond='data:blog.searchQuery == "blogger"'>

    Nội dung hiển thị khi tìm kiếm từ khóa blogger

</b:if>

24. Dùng NOT

<b:if  cond='not data:view.isPage'> Không dùng cho Page </b:if>

<b:if cond='not data:view.isHomepage'> Không dùng cho trang chủ </b:if>

<b:if cond='not data:view.isPost'> Không dùng cho bài viết </b:if>

Tương tự áp dụng cho tất cả các thẻ khác

25. Dùng khác != (FALSE)


<b:if  cond='!data:view.isPage'> Không dùng cho Page </b:if>

<b:if cond='!data:view.isHomepage'> Không dùng cho trang chủ </b:if>

<b:if cond='!data:view.isPost'> Không dùng cho bài viết </b:if>

Tương tự áp dụng cho tất cả các thẻ khác

26. Thẻ điều kiện cho liên kết bài mới, cũ

<b:if cond='data:post.hasOlderLinks'> Bài viết cũ </b:if>

<b:if cond='data:post.hasNewerLinks'> Bài viết mới </b:if>

27. Số bình luận

<b:if cond='data:post.numberOfComments &gt; 0'> Số Comment > 0 </b:if>

<b:if cond='data:post.numberOfComments &lt; 1'> Số Comment < 1 </b:if>

28. Nếu có bình luận

<b:if cond='data:this.messages.blogComment != &quot;&quot;'>Nếu có bình luận</b:if>

29. Thẻ điều kiện cho Adsense

<b:if cond='data:post.includeAd'>...</b:if>

30. Thẻ điều kiện ngày đăng bài

<b:if cond='data:post.dateHeader'>...</b:if>

31. Thẻ điều kiện cho bài đăng đầu tiên

<b:if cond='data:post.isFirstPost'>....</b:if>

Và còn rất nhiều thẻ điều kiện khác nằm trong template.

Một số toán tử để dùng với thẻ điều kiện của blogspot

== bằng, TRUE

> lớn hơn, áp dụng cho số

< nhỏ hơn, áp dụng cho số

!= khác, FALSE

>= lớn hơn hoặc bằng, áp dụng cho số

<= nhỏ hơn hoặc bằng, áp dụng cho số

NOT phủ định



Một số thẻ khác mà bạn có thể chưa biết 

Áp dụng cho tất cả bài đăng có nhãn blogspot

<b:if cond='data:posts all (p => p.labels any (l => l.name == "blogspot"))'>

</b:if>

Không áp dụng cho bài đăng có nhãn blogspot

<b:if cond='data:posts none (p => p.labels any (l => l.name == "blogspot"))'>

</b:if>

Nếu title blog chứa từ giao, tương tự cho trang, cho bài viết.

<b:if cond='data:blog.title contains "giao"'> </b:if>

Điều kiện cho số bài đăng lớn hơn 5 bài đăng

<b:if cond='data:posts.size gt 5'>  </b:if>

Điều kiện cho số bài đăng nhỏ hơn 5

<b:if cond='data:posts.size lt 5'>  </b:if>

Điều kiện cho số bài đăng bằng 5

<b:if cond='data:posts.size eq 5'>  </b:if>

Điều kiện áp dụng tất cả bài đăng có nhãn

<b:if cond='data:posts all (p => p.labels.any)'>  </b:if>

Điều kiện khi tìm kiếm một trong các từ khóa bên trong nó

<b:if cond='data:view.search.query in ["blogspot", "blogger", "blog"]'>  </b:if>

Áp dụng cho trang /search không phải là search/label

<b:if cond='data:view.isSearch and not data:view.isLabelSearch'>  </b:if>

Khi xem chi tiết bài viết hoặc trang

Áp dụng cho bài viết có id = 123456789

<b:if cond='data:view.postId == 123456789'>  </b:if>

Áp dụng cho trang có id = 123456789

<b:if cond='data:view.pageId == 123456789'>  </b:if>

Áp dụng cho nhiều bài viết có id

<b:if cond='data:view.postId in [11111,22222,33333]'>  </b:if>

Áp dụng cho nhiều trang có id

<b:if cond='data:view.pageId in [11111,22222,33333]'>  </b:if>

Áp dụng cho tiện ích FEATUREPOST / POPULARPOSTS/ BLOG isMultipleItems

Áp dụng cho tiện ích có post id là 123456

<b:if cond='data:post.id == 123456'>  </b:if>

Áp dụng cho tiện ích có post id bên dưới

<b:if cond='data:post.id in [11111,22222,33333]'>  </b:if>

Không áp dụng cho bài viết có id dưới

<b:if cond='[111111] not contains data:post.id'> </b:if>

Trang lưu trữ

Áp dụng cho trang lưu trữ có năm là 2020

<b:if cond='data:view.search.archive.year == 2020'> </b:if>

Áp dụng cho trang lưu trữ có tháng là 06

<b:if cond='data:view.search.archive.month == 06'> </b:if>

Lời Kết

Bài viết trên có thể giúp bạn hiểu khá rõ phần nào về thẻ điều kiện cho Blogspot mà mình tập hợp lại cho các bạn. Chúc các bạn vui vẻ