Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

wordpress: mostrar/ocultar header.

Estas en el tema de wordpress: mostrar/ocultar header. en el foro de WordPress en Foros del Web. Hola. Tengo una consulta que quizá sea un poco rara: Quiero mostrar wordpress en una ventana emergente, pero no quiero que se muestre el header, ...
  #1 (permalink)  
Antiguo 10/06/2007, 10:51
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
wordpress: mostrar/ocultar header.

Hola.
Tengo una consulta que quizá sea un poco rara:

Quiero mostrar wordpress en una ventana emergente, pero no quiero que se muestre el header, ya que tiene un menú de navegación que no interesa que vea el usuario.

Por otra parte, cuando se visiona el blog a través de la navegación normal de la web sí que se ha de ver el header.

Quisiera saber si hay alguna manera de solucionarlo.

Resumiendo:
El blog en pantalla completa (navegación normal) con header.
El mismo blog mostrado en ventana emergente sin header.

Quiero aclarar que el blog lo gestiono yo y forma parte de la web. No es que quiera mostrar contenido de otros sin que se vea su cabecera, lo que pasa es que según la sección de la web que se visite se muestra normal o en ventana emergente.

Gracias y saludos.
  #2 (permalink)  
Antiguo 11/06/2007, 06:53
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 1 mes
Puntos: 998
Re: wordpress: mostrar/ocultar header.

pues que quieres que te diga, me parece algo bastante descabellado mostrar todo un blog en ventana emergente, pero bueno...
lo que se me ocurre es que cuando este en popup le pases una variable por la url y despues hagas algo así:
Código PHP:
if($variable == NULL){echo "todo el código del header"
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #3 (permalink)  
Antiguo 12/06/2007, 08:31
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Re: wordpress: mostrar/ocultar header.

Gracias por la respuesta.

El concepto lo entiendo, pero no veo el lugar donde debería colocar el código php que me indicas: he probado en varios archivos php de wordpress, pero no ha funcionado.

Además la función 'echo' es para 'mostrar', creo, y lo que me interesa es 'ocultar'.

En código voy bastante pez, aunque de momento me voy apañando e investigo con el ensayo-error.

Saludos.
  #4 (permalink)  
Antiguo 28/08/2007, 07:01
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Re: wordpress: mostrar/ocultar header.

Hola otra vez.
Sigo sin conseguirlo. Necesitaría algo más de ayuda. He buscado por todas partes sin resultado.

He estado probando con el código de arriba y no logro que funcione. Lo coloco en el archivo header.php y lo modifico con mis escasos conocimientos, pero solo consigo errores o que el header se muestre siempre, con o sin variable.

También he pensado la posibilidad siguiente: Cuando una visita es a través del i-frame (ventana emergente) que se cargue otro template diferente que tengo creado en el que no se incluye el header.
Es decir, dos themes diferentes y el modificado que se cargue cuando llegue una variable por url.

El código sería algo así?

<?php if($variable == NULL) {"cargar template sin_header"} ?>. pero no conozco la instrucción ni en qué archivo de wordpress meterlo (quizá en template-loader.php?)

Gracias.

Última edición por mynameis; 29/08/2007 a las 10:43
  #5 (permalink)  
Antiguo 31/08/2007, 12:23
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Re: wordpress: mostrar/ocultar header.

Bueno, ya he dado con el código, gracias webosiris por la pista.

Queda así:

Paso una variable en la url de este modo:

Código PHP:
<a href="http://www.blablabla.php?var=1"
En la página php pongo esto:

Código PHP:
<?php if ($_GET['var'] == NULL) : ?>
        <?php get_header(); ?>
<?php 
else : ?>
        <?php include (TEMPLATEPATH '/header2.php'); ?>
<?php 
endif ?>
Donde header es la cabecera por defecto y header2 es la cabecera modificada, o, en este caso, ausente.
Si no hay variable muestra la cabecera y si hay no la muestra.

Ahora tengo el problema de que esto ocurra es las sucesivas páginas php que se visiten a continuación. O sea, que la variable vaya pasando de página en página.

He estado mirando por ahí y creo que se puede hacer con variables de sesión, pero no logro que funcione, porque parece que siempre establece la variable aunque no venga dada por la url.

¿Alguien me puede indicar cómo hacerlo?

Gracias.
  #6 (permalink)  
Antiguo 01/09/2007, 00:18
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 17 años, 10 meses
Puntos: 18
Re: wordpress: mostrar/ocultar header.

¿Y en el popup qué se muestra? Me explico, vas a mostrar todos los artículos del blog, como si entrases en index.php? ¿o vas a mostrar sólo el contenido de un artículo, como si entrases en index.php?p=123 ?

En el primer caso edita index.php y en el segundo index2.php

Y otra cosa, puedes usar el mismo sistema para ocultar el menu directamente en header.php,
Código PHP:
<?php if (isset($_GET['menu'])) { /* Detecta si existe variable */ } else { /* Código del menú */ ?>
  #7 (permalink)  
Antiguo 01/09/2007, 04:59
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Re: wordpress: mostrar/ocultar header.

En el pop-up se muestra index.php (artículos, sidebar y header que es el que quiero eliminar).

Esto es así por motivos de navegación.
Wordpress está integrado en el resto de la web, con el mismo aspecto y misma cabecera que el resto de páginas html.
Lo uso como sistema de noticias, sin comentarios ni nada.
En la navegación normal visitas la página y aparece con su cabecera y todo normal.

La cuestión es que estas noticias pueden consultarse desde otros lugares de la web y se abren en ventana emergente. Ahí es donde quiero que no aparezca el header, para que no se duplique la cabecera de la página y la cabecera del pop-up, por así decirlo.

He probado el código que me propones y funciona. Mejor así. Pero sigo teniendo el mismo problema: en las sucesivas páginas vuelve a aparecer el header, por ejemplo al clicar en archivos o categorías.

Última edición por mynameis; 01/09/2007 a las 10:08
  #8 (permalink)  
Antiguo 01/09/2007, 14:06
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 17 años, 10 meses
Puntos: 18
Re: wordpress: mostrar/ocultar header.

Te lo pregunto por lo siguiente.
En un theme de Wordpress verás diversso archivos, entre ellos index.php single.php search.php archive.php page.php y 404.php

Ahora, si en el popup cargas un artículo (artículo, post, pero no página ni categoría) sólo, en realidad cargas single.php y no index.php, de ahí que al modificar index.php no logres nada.

Si por el contrario accedes a una sóla categoría, resultados de una búsqueda, página o error 404 se abrirán (en este orden) archive.php search.php page.php 404.php.

Solución para todo eso, en lugar de meter el código de mostrar / no mostrar en el index.php o single.php, etc. Mételo en header.php, te ahorrarás trabajo y líos.

Ahh! se me olvidaba, el fallo que tienes es que al ir a un link generado por Wordpress no enviará esas variables de URL, puedes editar el código de los links o usar variables de sesión o cookies, aunque usando éstas tendrás problemas con las páginas que sí quieres mostrar la navegación.
  #9 (permalink)  
Antiguo 02/09/2007, 11:21
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
De acuerdo Re: wordpress: mostrar/ocultar header.

Muchas gracias por tu ayuda sumolari.

Finalmente lo he logrado de esta manera:

1.- Creo un nuevo header al que llamo header2 que es igual que el header pero sin el <div id="header"> . (Osea, un "header sin header"... raro ¿no?)

2.- Paso una variable por URL por el método tradicional:

Código PHP:
<a href="http://www.blablabla.php?var=1"
3.- En index.php sustituyo:

Código PHP:
<?php get_header(); ?>
por esto:

Código PHP:
<? session_start(); $_SESSION['var']=$_GET['var']; ?>

<?php if ($_GET['var'] == NULL) : ?>
     <?php get_header(); ?>
<?php 
else : ?>
     <?php include (TEMPLATEPATH '/header2.php'); ?>
<?php 
endif ?>
Es decir, inicio una sesión donde el valor de la variable es el valor que viene por URL.
Si el valor es nulo (porque no viene por URL) entonces carga el header normal. Si hay un valor (porque sí viene de URL) entonces carga el header2 alternativo y por tanto la cabecera no se muestra.

4.- En los archivos archive.php, search.php, page.php, 404.php sustituyo otra vez:

Código PHP:
<?php get_header(); ?>
por esto otro:

Código PHP:
<? session_start(); $_GET['var']=$_SESSION['var']; ?>

<?php if ($_GET['var'] == NULL) : ?>
     <?php get_header(); ?>
<?php 
else : ?>
     <?php include (TEMPLATEPATH '/header2.php'); ?>
<?php 
endif ?>
Que es casi lo mismo que antes, y recoge la variable y la establece como variable de sesión. Lo demás igual.

Supongo que es un código algo sucio, pero así me aclaro mejor. Lo dejo aquí por si le puede servir a alguien.
A mi me va bien porque como dije no tengo comentarios ni noticias 'single.php'. En ese caso supongo que hay que hacer lo mismo con el resto de archivos del template.

Gracias de nuevo por vuestra ayuda. He aprendido mucho sobre php y sobre wordpress.


Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:58.