Mostrar div solo en la página principal/índice del blog en WordPress/PHP

5 may 2012, 05:03:47
Vistas: 18.7K
Votos: 4

Tengo un sitio WordPress. Tengo un div que solo quiero que aparezca en la página principal (en el encabezado). ¿Qué tipo de sentencia if en PHP necesito...

En otras palabras:

mostrar solo .... en el encabezado de la página principal del índice del blog. El problema es que el encabezado se carga en todas las páginas.

¡Gracias!

php
1
Comentarios
Todas las respuestas a la pregunta 4
8

Ver: http://codex.wordpress.org/Function_Reference/is_home

<?php if(is_home()): ?>

<div>Tu div.</div>

<?php endif; ?>
5 may 2012 05:10:32
Comentarios

gracias... mi problema es que mi tema efectivamente configura la página de inicio para mostrar una "categoría". ¿Existe una declaración similar como (is_category_XXXX)?

User User
5 may 2012 05:14:43

@NKeating ¿Esto no funcionó?

iambriansreed iambriansreed
5 may 2012 05:16:15

ocultó el div de la página de inicio porque no la detecta como home... En otras palabras, la página de inicio está configurada para mostrar un índice de categoría llamado videos. Ver URL: http://speedsociety.com/

User User
5 may 2012 05:19:49

y estoy intentando mostrar un div de "video destacado" encima del índice principal pero solo en la página de inicio.

User User
5 may 2012 05:23:31

También prueba con: is_front_page().

iambriansreed iambriansreed
5 may 2012 05:25:48

También puedes probar: leer todo en codex.wordpress.org/Function_Reference/ Hay algunas cosas útiles allí.

JakeParis JakeParis
5 may 2012 05:36:04

Definitivamente querrás usar is_front_page() en lugar de is_home(). El primero corresponde a la Página de inicio del sitio; el segundo corresponde al Índice de publicaciones del blog, que puede o no estar en la página de inicio del sitio.

Chip Bennett Chip Bennett
6 may 2012 02:45:21
Mostrar los 3 comentarios restantes
0
<?php if(is_home()): ?>

<div>Tu div.</div>

<?php endif; ?>

El código anterior funciona correctamente siempre y cuando no hayas configurado una Página estática para la página de inicio desde aquí: Administración > Ajustes > Lectura.

<?php if(is_front_page()): ?>

<div>Tu div.</div>

<?php endif; ?>

Pero este código funcionará independientemente de si se muestra la página principal del blog o has configurado una página estática para mostrar en la página de inicio.

5 may 2012 08:52:30
1

También podrías resolver el problema con CSS.

Configura el div con:

#your-div{
display: none;
}

en tu CSS.

Luego encuentra la clase del body page-id para la página de inicio y configura el CSS para esa como:

.body-class-page-id #your-div {
display: block;
}

Esto lo ocultará en todas las páginas excepto en la página donde quieres mostrarlo.

5 may 2012 11:11:36
Comentarios

Esto terminó teniendo más sentido para mí.

little tiny man little tiny man
9 feb 2021 06:22:59
4

Siempre puedes usar $_SERVER['REQUEST_URI'] para determinar en qué página te encuentras. Para la página de inicio generalmente es solo '/'. Entonces:

<?php if( $_SERVER['REQUEST_URI'] == '/' ) { ?>
<div id="solo_inicio">El contenido va aquí...</div>
<?php } ?>
5 may 2012 05:30:02
Comentarios

a) ¿Qué pasa con index.php? y b) ese tipo de solución realmente no funcionará con WordPress.

JakeParis JakeParis
5 may 2012 05:37:08

a) No veo ninguna razón por la que alguien permitiría ver su página de inicio como http://domain.com/index.php b) ¿Qué te hace pensar que no funcionaría?

User User
5 may 2012 05:46:56

...¿Funciona?

JakeParis JakeParis
5 may 2012 05:48:49

Sí, funciona de maravilla.

User User
5 may 2012 05:51:32