Blogger Conditional Statements can be used to control the display of HTML elements on certain pages or to set different styles for different...
UPDATE Now you can use Conditional tags even for Mobile Devices!
Its often the HTML/JavaScript widget that is widely used for adding your customized widgets to Blogger and its mostly this widget that needs to be easily managed. Since you often paste some widget code inside HTML/JavaScript widgets so the only extra thing that you need to do in order to control widget’s display is to enclose that code between two pieces of code as shown in each control codes below,
Note:
- Item Pages Include Posts only
- Index Pages Include Homepage and Search/Label Pages
How to Show Widgets/HTML Only On Homepages?
Simply enclose the code inside HTML/JavaScript widget between these conditional lines,
<b:if cond='data:blog.url == data:blog.homepageUrl'>
WIDGET CODE GOES HERE
</b:if>
where WIDGET CODE GOES HERE is the code of the widget you want to show or hide.
How to Hide Widgets On Homepages?
Same procedure here,
<b:if cond='data:blog.pageType == "item"'>
WIDGET CODE GOES HERE
</b:if>
How To Show Widgets Only On Static Pages?
<b:if cond='data:blog.pageType == "static_page"'>
WIDGET CODE GOES HERE
</b:if>
How To Hide Widgets On Static Pages?
<b:if cond='data:blog.pageType != "static_page"'>
WIDGET CODE GOES HERE
</b:if>
How To Show a Widget On a Selected Post Only?
<b:if cond='data:blog.url == "URL OF Selected Post"'>
WIDGET CODE GOES HERE
</b:if>
How To Hide a Widget On a Selected Post?
<b:if cond='data:blog.url != "URL OF Selected Post"'>
WIDGET CODE GOES HERE
</b:if>
How to Show HTML On First Post of Homepage?
If you want to show HTML content on first post of your homepage and not on every post that are displayed on homepage then use the following syntax,
<b:if cond='data:post.isFirstPost'>
WIDGET CODE GOES HERE
</b:if>
Sometimes you would prefer showing a Featured or Latest ribbon image on the first post or you may wish to display some stuff only on first post summary, in that case you can surely enclose the HTML inside the above conditional statement.
How to Show Widget On Index Page?
Index pages include labels/search pages, archive pages and the Homepage. To show widget or HTML on these pages use the following syntax,
<b:if cond='data:blog.pageType == "index"'>
WIDGET CODE GOES HERE
</b:if>
How to Hide Widget On Index Pages?
Use this code
<b:if cond='data:blog.pageType != "index"'>
WIDGET CODE GOES HERE
</b:if>
How to Show Widget On Search Page?
Search Page in Blogger blogs include all Label Pages and search pages displayed when a user searches a query using the search box. To show widget or HTML on search pages use the following syntax,
<b:if cond='data:blog.searchLabel'>
WIDGET CODE GOES HERE
</b:if>
How To Control Blogger’s Official Widgets?
The same procedure can be applied to Blogger’s official widgets like About Me, Archives, Poll etc. For controlling that widgets do this,
- Go To Blogger > Design > Edit HTML
- Backup your template
- Check the Expand Widgets Templates Box
- Search for the title of the widget you want to control
- The code for the widget will look something similar to this one,
<b:widget id='HTML' locked='false' title='WIDGET-TITLE-HERE' type='Profile'>
<b:includable id='main'>
LARGE CHUNK OF WIDGET CODE
</b:includable> </b:widget>
On finding the title in place of WIDGET-TITLE-HERE you will find two similar codes like those I have shown in bolded blue You just need to add the Controlling codes in the following manner. For example if you wish to show a widget at Homepage only then do this,
<b:widget id='HTML' locked='false' title='WIDGET-TITLE-HERE' type='Profile'>
<b:includable id='main'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
LARGE CHUNK OF WIDGET CODE
</b:if>
</b:includable> </b:widget>
That’s it. Do the same for applying any controlling code. I hope this was useful :)
COMMENTS