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.