Agregar clase de cuerpo de la categoría padre

2

No soy un programador, pero normalmente me manejo con Wordpress haciendo mi investigación y encontrando mi solución. No puedo encontrar lo que necesito hacer esta vez, por lo que he tratado de incluir algunos códigos en la cuna. Lo que estoy tratando de hacer es que, cuando estoy en el Archivo de categorías, quiero agregar una clase de cuerpo de la categoría principal. Esto es lo que he intentado y funciona aparte de que obtengo el ID de categoría de los padres, pero quiero el nombre / babosa:

add_filter('body_class','hw_custom_body_class');
  function hw_custom_body_class($classes){
  if(is_category()){
  $categories = get_the_category();
  $category = strtolower($categories[0]->category_parent);
  $classes[]='category-'.$category;
  return $classes;    }}
    
pregunta Andrew Smart 02.10.2013 - 16:51

1 respuesta

5

Use get_ancestors() para obtener los términos principales. Aquí hay un extracto de mi complemento Términos principales de T5 en body_class :

    $ancestors = get_ancestors(
        get_queried_object_id(),
        get_queried_object()->taxonomy
    );

    if ( empty ( $ancestors ) )
    {
        return $classes;
    }

    foreach ( $ancestors as $ancestor )
    {
        $term          = get_term( $ancestor, get_queried_object()->taxonomy );
        $new_classes[] = esc_attr( "parent-$term->taxonomy-$term->slug" );
    }

Esto funcionará con cualquier taxonomía, no solo con categorías.

    
respondido por el fuxia 02.10.2013 - 16:58

Lea otras preguntas en las etiquetas