Lo más fácil es un campo personalizado con dos valores (1 y 2 por ejemplo).
En las entradas pones el valor que corresponda.
Luego editas la plantilla «single.php» y allí colocas un condicional para que muestre o no muestre lo que te interese.
Hola almendron,
gracias por tu ayuda, en primer lugar.
O sea, tendría que colocar un campo personalizado con dos valores, eso lo entiendo.
pero en cuanto a las entradas: las dos páginas ofrecen exactamente las mismas entradas (la gracia de la página web es que cada página tiene su estilo adaptado a diferente público).
El problema está en que como el archivo single.php de la entrada en particular es el mismo, porque comparten contenido, sólo me deja poner el header por defecto (que es el de una de ellas). Lo que yo quiero es que en el archivo single.php te venga el header de la página en la que tú estabas navegando, puede ser la 1 o puede ser la 2.
Así que entiendo que los dos valores se los tendría que asignar a los headers?
Perdona si no he entendido bien tu respuesta, quizás si es la correcta.
Gracias!!
Y yo creo que te he entendido mal porque lo que necesitas va en función de donde provenga el visitante.
A ver si es así: dependiendo de si llegan de una u otra página de las que has puesto, la entrada (single) tiene que mostrar una cabecera u otra.
¿Es correcto?
¿Qué conocimientos tienes de PHP?
condicionales, bucles, funciones… programación orientada a objetos también algo.. mysql también sé algo..
puedo investigar, no me importa.
Habría dos métodos:
1) Pasar una variable. Tendría que preguntar a algún compañero.
2) A través de un enlace sabría como hacerlo excepto por el hecho de que en una de las páginas los enlaces a las entradas debería tener una forma especial.
Las entradas: ¿se listan de forma automática o las añades tú de forma manual?
Y una última cuestión: imagina que llegan a una de esas entradas directamente. En estos casos, de nada servirá lo que hagas en esas dos páginas.
¿Merece la pena por tanto aplicar la idea de mostrar un header distinto en función de si vienen de una página o de la otra?
En el punto número 2 te refieres a la url que aparece una vez estás en el single.php?
Las entradas se listan de forma automática, ahí estaba yo perdida también.
He conseguido hacer que sólo desde una de las páginas se mande un parámetro por la url.
Es decir, si te metes en http://www.laramblabarcelona.com/millenials/ y haces click en cualquier artículo te viene el nombre de la ruta del artículo y después «?2». Esto lo he conseguido añadiendo este «?2» en el template.php que utiliza esta página, donde indica el enlace al que van los artículos. (no sé si es cutre pero me ha funcionado)
Ahora entonces creo que podría entonces dirigirme al single.php y decirle algún condicional.
Pero estoy investigando en ello. Si se te ocurre algo dime;
Muchas gracias!!!!
En cuanto a llegar a la entrada directamente,
supongo que según donde te interese meter la entrada (por ejemplo si es para facebook que te interesa que la lea gente joven, pondrás el parámetro adecuado en la url que haga que te salga el menú de «Millenials», que es el adecuado, y no el de «Familias».)
Esto es lo que se me ocurre ahora mismo, pero es cierto que no me había planteado esa posibilidad, y no sé si es posible lo que digo.
Si entraran por defecto a la entrada sin pasar por ningún lado, les saldría el menú que hay ahora mismo por defecto supongo, que es el de «Familias».
Traducido a php, Al condicional del single.php, le puedo decir que si viene el parámetro de «Millenials» me cambie de menú, y si no viene nada, que lo deje como está, a eso me refiero.
Si puedes mandar un parámetro a través de la URL de una de las dos páginas, tendrías que hacer lo siguiente:
Yo una vez tenía un single donde podías acceder a una versión «limpia» del artículo a través de un enlace. Este enlace tenía un parámetro (en mi caso ?zen
). En tu caso, ese parámetro lo has añadido a todas las entradas.
Luego, en el single.php añadí al principio:
<?php if(isset($_REQUEST['zen'])) { ?>
<?php get_template_part( 'con_zen' ); ?>
<?php } else { ?>
Resto del single
<?php } ?>
Lo que viene a decir este código, es que si aparece el parámetro «zen», entonces carga el template «con_zen». En caso contrario, el single normal.
Por último creé el archivo «con_zen_php» que era un single en el que cargaba todo lo que me interesaba (cabecera, cuerpo, pie, etc).
En tu caso, yo probaría lo siguiente:
<?php if(isset($_REQUEST['zen'])) { ?>
Carga el menú
<?php } ?>
Sustituye «zen» por el parámetro que pongas en la variable.
-
Esta respuesta fue modificada hace 7 años por almendron.
-
Esta respuesta fue modificada hace 7 años por almendron.
Muchas gracias por tu ayuda!!
Voy a probar y te digo.
Hola almendron,
lo conseguí,
en vez de $_REQUEST he puesto $_GET, pero como creo que tengo que usar la variable en más páginas, alomejor hay alguna que me admite mejor $_REQUEST.
Gracias por tu ayuda,
Saludos!