En algunas ocasiones puede ser útil que un gadget aparezca únicamente en la página principal de tu blog y permanezca oculto en las entradas individuales.

Por ejemplo, puedes utilizar este método para mostrar un banner de bienvenida, un formulario de suscripción, un anuncio, un mensaje promocional o cualquier otro contenido que solo tenga sentido en la portada.

Blogger permite hacerlo con una sencilla condición dentro del código del gadget.

Localiza el gadget

Entra en:

Tema → Editar HTML

Después utiliza la opción Ir al widget para localizar el gadget que deseas modificar.

Su estructura será similar a esta:

<b:widget id='HTML1' locked='false' title='Gadget' type='HTML'>
  <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>

    <div class='widget-content'>
      <data:content/>
    </div>

    <b:include name='quickedit'/>

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

Agrega la condición para la portada

Justo después de:

<b:includable id='main'>

agrega la siguiente línea:

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

Y justo antes de:

</b:includable>

agrega el cierre de la condición:

</b:if>

El resultado será similar a este:

<b:widget id='HTML1' locked='false' title='Gadget' type='HTML'>
  <b:includable id='main'>

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

      <!-- only display title if it's non-empty -->
      <b:if cond='data:title != &quot;&quot;'>
        <h2 class='title'><data:title/></h2>
      </b:if>

      <div class='widget-content'>
        <data:content/>
      </div>

      <b:include name='quickedit'/>

    </b:if>

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

¿Qué hace esta condición?

La expresión:

data:blog.homepageUrl == data:blog.url

comprueba si la página actual corresponde a la portada del blog. Si la condición se cumple, Blogger muestra el contenido del gadget; en cualquier otra página, el gadget permanece oculto.

¿Puedo hacerlo con cualquier gadget?

Sí. Aunque cada tipo de gadget tiene una estructura ligeramente diferente, todos incluyen un bloque principal identificado por:

<b:includable id='main'>

Solo necesitas colocar la condición inmediatamente después de esa línea y cerrarla antes de </b:includable>.

Puedes repetir este procedimiento en todos los gadgets que quieras mostrar exclusivamente en la página principal de tu blog.

Una alternativa más sencilla en las plantillas modernas

Si tu plantilla utiliza la sintaxis moderna de Blogger (Widgets versión 2), puedes conseguir el mismo resultado de una forma mucho más simple, sin necesidad de envolver todo el contenido del gadget con una condición.

Solo agrega el atributo cond='data:view.isHomepage' directamente en la etiqueta <b:widget>.

Por ejemplo, si originalmente tienes:

<b:widget id='HTML9' locked='true' title='Hero destacado' type='HTML' version='2' visible='true'>

Solo debes modificarla así:

<b:widget cond='data:view.isHomepage' id='HTML9' locked='true' title='Hero destacado' type='HTML' version='2' visible='true'>

Con esa única modificación, el gadget solo se mostrará en la página principal del blog.

Esta opción es más fácil de mantener porque evita agregar bloques adicionales de código dentro del gadget y hace que la plantilla sea más limpia y legible.

Si estás desarrollando una plantilla nueva o trabajas con la sintaxis moderna de Blogger, utiliza cond='data:view.isHomepage'. Si, en cambio, estás modificando una plantilla antigua, la condición data:blog.homepageUrl == data:blog.url sigue siendo totalmente válida y compatible.

Una recomendación

Antes de modificar la plantilla, realiza una copia de seguridad del tema. Además, después de guardar los cambios, comprueba el resultado tanto en la portada como en una entrada individual para asegurarte de que el gadget aparece únicamente donde lo deseas.