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

css personalizado por categoria

Estas en el tema de css personalizado por categoria en el foro de WordPress en Foros del Web. Buenas! La verdad es que estoy mareada buscando una solución, y a veces necesito un empujón para el lado correcto. Tengo artículos que dependiendo la ...
  #1 (permalink)  
Antiguo 18/05/2010, 10:42
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
css personalizado por categoria

Buenas! La verdad es que estoy mareada buscando una solución, y a veces necesito un empujón para el lado correcto.

Tengo artículos que dependiendo la categoría llevarán títulos con colores personalizados. Hasta ahí vamos bárbaro ya que los custom fields me lo permiten perfectamente.

Mi dolor de cabeza es que tengo categorías con la misma característica, y al ser desplegadas en una página (nombre de cada categoría y un listado de sus posts) deben llevar el nombre de la cat con su toque personal.

O sea, en una plantilla de página personalizada listaré ciertas categorías. Cada categoría lleva su color de título, y no tengo idea de como indicarles un css sin tener que tocar la plantilla de estilo. No solo eso, el estilo es uno para esta página y otro para la sidebar.

Alguien tiene alguna idea creativa al respecto?

Gracias de hantevrazo
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP

Última edición por Nekko; 18/05/2010 a las 10:48
  #2 (permalink)  
Antiguo 18/05/2010, 15:36
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 6 meses
Puntos: 832
Respuesta: css personalizado por categoria

Hola Nekko, lo primero que debes hacer es capturar la ID de cada categoría. Esto lo hacemos en el header.php, antes de que comience a cargarse el body:

Código PHP:
Ver original
  1. <?php
  2. $cat = get_query_var('cat');
  3. ?>

Mejor aún, le aplicamos un ternario para ser más claros con el sistema:

Código PHP:
Ver original
  1. <?php
  2. $cat = is_category() ? get_query_var('cat') : null;
  3. ?>

Luego modificamos la etiqueta body de esta manera:

Código PHP:
Ver original
  1. <body id="mi-body<?php echo $cat ?>"

El resultado para -por ejemplo- la categoría "50" sería algo como:

Código PHP:
Ver original
  1. <body id="mi-body50">
  2. ...

Para por ejemplo cambiar el color de la etiqueta h2 de esa categoría sólo tienes que agregar a tu CSS:

Código CSS:
Ver original
  1. body#mi-body50 h2 {
  2. color: #777;
  3. }

O al h3 del sidebar de la misma categoría

Código CSS:
Ver original
  1. body#mi-body50 .mi-sidebar h3 {
  2. color: #cc0000;
  3. }
  #3 (permalink)  
Antiguo 19/05/2010, 06:44
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 16 años, 3 meses
Puntos: 41
Respuesta: css personalizado por categoria

y no es mas fácil con <?php body_class(); ?> ?
  #4 (permalink)  
Antiguo 19/05/2010, 10:06
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
Respuesta: css personalizado por categoria

Meta, mil gracias por tu interés!

Seguramente me expresé mal... Lo que tengo que hacer es construir una página (pensaba usar una plantilla de página, pero bien puede ser un category-1.php) con un loop que llama a diversas categorías.

Allí debo cambiar el css de cada titulo de categoría acorde es llamada. Entonces capturar un solo id de categoría en el header no creo que sirva, ya que son muchas categorías.

Mas o menos se me entiende? Quizás te entendí mal y esa metodología que indicás me sirva para lo que necesito!
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #5 (permalink)  
Antiguo 20/05/2010, 03:21
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 6 meses
Puntos: 832
Respuesta: css personalizado por categoria

Ah perfecto. En ese caso sólo tienes que llamar a las categorías y asignarle un ID a los contenedores:

Código PHP:
Ver original
  1. <?php
  2. $cats=  get_categories('parametros...');
  3. foreach ($cats as $cat) {
  4.     $html .='<h2 id="cat-'. $cat->term_id .'">'. $cat->name .'</h2>';
  5. }
  6. echo $html;
  7. ?>
Recuerda que todo lo que coloques dentro del loop (en este caso foreach) es lo que se repite una y otra vez. Esto quiere decir que puedes jugar con lo que aparecerá, por ejemplo capas contenedoras, descripciones, imágenes asignadas, etc.

Diferenciando cada resultado con el ID de las categorías podrás definir un estilo distinto para cada una de éstas.
  #6 (permalink)  
Antiguo 20/05/2010, 07:46
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
Respuesta: css personalizado por categoria

Sos un ídolo! No lo iba a sacar mas, no me imaginaba como definir el estilo para las categorias de ese modo.

Gracias!!!

PD: Acepta este humilde regalo:
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #7 (permalink)  
Antiguo 20/05/2010, 13:06
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 6 meses
Puntos: 832
Respuesta: css personalizado por categoria

Jojooo también diste en el clavo con tal banquete. Gracias mi niña.
  #8 (permalink)  
Antiguo 20/05/2010, 13:31
Avatar de alexk
Colaborador
 
Fecha de Ingreso: julio-2009
Ubicación: De vuelta al trono
Mensajes: 1.698
Antigüedad: 15 años, 5 meses
Puntos: 137
Respuesta: css personalizado por categoria

Cita:
Iniciado por codig0 Ver Mensaje
y no es mas fácil con <?php body_class(); ?> ?
+1
__________________
Toroflix - movies.
  #9 (permalink)  
Antiguo 20/05/2010, 13:51
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 6 meses
Puntos: 832
Respuesta: css personalizado por categoria

El asunto con el body_class() es que personalmente prefiero no usarlo debido a los procesos que intervienen para que la función se ejecute.

Si bien es cierto que WP coloca en nuestras manos un buen surtido de recursos para facilitarnos la vida, también es necesario tomar en cuenta la importancia de optimizar nuestro código y tratar de liberar al servidor de algunas tareas extra.

Como pueden notar, en el primer ejemplo se capturó la ID de la categoría de forma rápida y con una sola etiqueta, terminando el trabajo con algo de contenido estático. En cambio, body_class() ejecuta un join a otra función (get_body_class()), la cual considero algo compleja para un objetivo tan simple. Échenle un vistazo:

http://core.trac.wordpress.org/brows...plate.php#L370

No niego que la etiqueta pueda ser la mejor solución en casos específicos, pero en este caso especial basta con dos golpes y listo. Lamentablemente no era lo que se necesitaba en este tópico, pero el día que alguien lo requiera recomiendo proceder de esa manera.
  #10 (permalink)  
Antiguo 20/05/2010, 14:01
Avatar de alexk
Colaborador
 
Fecha de Ingreso: julio-2009
Ubicación: De vuelta al trono
Mensajes: 1.698
Antigüedad: 15 años, 5 meses
Puntos: 137
Respuesta: css personalizado por categoria

ahhh ya veo... no sabia XD...
bueno en mi caso mientras menos codigo mejor ya que de PHP no se mucho (nada en realidad)
y pues me es mas comodo de la otra manera...
ya probare como indicas gracias!...
__________________
Toroflix - movies.

Etiquetas: css, personalizacion, categorias
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 18:33.