Categoría como clase para tipo de publicación personalizada

4

Acabo de darme cuenta de que los tipos de publicaciones personalizadas no parecen mostrar la categoría como una clase en el ciclo, a través de post_class y me pregunto si alguien puede sugerir una solución alternativa. ¿Es esto algo que debería declararse cuando establezca mi tipo de publicación o es una extensión de post_class ?

Por ejemplo, en una publicación de tipo post la clase produce algo como: class="post-50434 post type-post status-publish format-standard hentry category-my-lovely-category tag-some-ace-tag" pero para mi tipo de publicación personalizada, la categoría no aparece.

- EDITAR -

Aquí hay un poco de mi código que podría ayudar a aclarar lo que estoy tratando de hacer; en primer lugar, sin embargo, no estoy tratando de poner a la clase en el cuerpo sino en el artículo de mi bucle:

<?php $cat = get_the_category();
$parentCatName = get_cat_name($cat[0]->parent); ?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?> data-category="<?php echo $parentCatName; ?>" data-title="<?php the_title(); ?>">
[...]
</article>

El problema que tengo es recuperar la información de categoría de tipo de publicación personalizada de la misma manera que puedo para el tipo de publicación predeterminado.

- EDITAR -

Lo siento, tal vez me ayude un poco de información sobre lo que estoy tratando de lograr. Intentaré que sea breve:

  • Estoy usando el diseño de mampostería de isótopos

  • Deseo filtrar los resultados por un atributo de 'categoría de datos' agregado a cada publicación durante el ciclo

  • Mis categorías para varios tipos de publicaciones (publicación, producto, curso) se agrupan en categorías comunes para padres

  • En mi bucle, por lo tanto, quiero rellenar ese campo de 'categoría de datos' con la categoría principal

Mi problema surge porque solo puedo obtener la categoría y, a su vez, la categoría principal, para el tipo de publicación personalizado predeterminado, usando get_the_category.

Espero que esto tenga sentido.

    
pregunta Kevin Nugent 04.02.2014 - 19:23

1 respuesta

2

Este es el comportamiento esperado (o al menos: diseñado).

Aquí hay una parte del Codex sobre eso:

  

Las clases post_class CSS aparecen según la visita de la página Etiquetas condicionales de la siguiente manera.

     

Categoría
  Los archivos de plantilla de categoría y las vistas de página que muestran publicaciones incluyen los selectores de clase: post-id categoría-ID categoría-nombre

Por supuesto, puede enganchar una función de filtro personalizado a filtro post_class .

// EDIT
De acuerdo con su pregunta actualizada, aquí está el código actualizado:

<?php
$cat = wp_get_post_terms(get_the_ID(), 'category');
$parentCatName = get_cat_name($cat[0]->parent);
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?> data-category="<?php echo $parentCatName; ?>" data-title="<?php the_title(); ?>">
[...]
</article>

Si también desea agregar algunas clases de publicaciones, hágalo así:

post_class('category-'.$parentCatName);
    
respondido por el tfrommen 04.02.2014 - 19:35

Lea otras preguntas en las etiquetas