Mostrar algo solo en el home de WordPress


Una de las cosas que aveces necesitamos cuando estamos modificando un theme de WordPress es hacer que algunos elementos se muestren solamente en el home, es decir en la página principal de tu blog.

Por ejemplo, hace algunos días estaba intentado encontrar un código que me permitiera mostrar un div con texto en la página de inicio para efectos de SEO, buscando un poco me di cuenta que para hacerlo se necesita utilizar condiciones, de las cuales en WordPress hay varias.

Cómo mostrar un elemento solo en el home de WordPress

Lo que hice fue agregar en el archivo index.php de la plantilla el siguiente código:

<?php if ((is_home())  { ?>
<div>Texto SEO</div>
<?php } ?>

Con lo anterior estamos indicando que si el usuario se encuentra en la página de inicio (home), entonces que ejecute el div y lo que está dentro de él.

Pero sin embargo este código no me funcionó en mi caso, puede que a tí te funcione, todo depende de la estructura del theme.

El texto aparecía en la página de inicio, pero también lo hacía en las páginas de navegación (page/2, page/3, etc);  por lo cual tuve que hacer una pequeña modificación para que tuviera efecto.

<?php if ( ((is_home()) && ($paged <= «1»))) { ?>
<div>Texto SEO</div>
<?php } ?>

Con este pequeño truco pude lograr lo que quería y creo que también ayudará a mejorar un poco el SEO en la página de inicio. A esto también podría dársele otros usos como por ejemplo hacer que un anuncio aparezca solo en el home.

También podría ser que haya algo que no quieres mostrar en la página de inicio, pero si en todo lo demás. En este caso lo único que debes modificar es agregar un signo de exclamación antes de el «is_home», con lo cual te quedaría así:

<?php if ((!is_home())  { ?>
<div>Texto SEO</div>
<?php } ?>

Finalmente, si lo que quisieras es mostrar u ocultar algunos widgets en algunas partes de tu plantilla, para esto te recomiendo que uses un plugin llamado Widget Logic, el cual es bastante efectivo para este propósito.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.