Mostrar Sidebar por Categoría en WooCommerce

  • Autor Autor Linares
  • Fecha de inicio Fecha de inicio
L

Linares

Beta
Verificado por Whatsapp
Hola que tal.

Tengo un duda, quiero mostrar un sidebar diferente según la categoría de woocommerce que estén viendo, si la categoria de la tienda es Placa base, debe de mostrar solo el sidebar para esa categoría.

Si el usuario quiere ver la categoría de procesadores, debera mostrarse el sidebar para esa categoría, se crear los sidebar por código o por plugin y colocarlos en el área, pero lo que no se es como y en que php colocarlo para que evalué que categoría esta visitando el usuario para luego mostrar el sidebar correcto.

Quedo atento a cualquier ayuda. Gracias.!
 
Hola que tal.

Tengo un duda, quiero mostrar un sidebar diferente según la categoría de woocommerce que estén viendo, si la categoria de la tienda es Placa base, debe de mostrar solo el sidebar para esa categoría.

Si el usuario quiere ver la categoría de procesadores, debera mostrarse el sidebar para esa categoría, se crear los sidebar por código o por plugin y colocarlos en el área, pero lo que no se es como y en que php colocarlo para que evalué que categoría esta visitando el usuario para luego mostrar el sidebar correcto.

Quedo atento a cualquier ayuda. Gracias.!
¡Hola!

Para mostrar un sidebar diferente según la categoría de WooCommerce que esté viendo un usuario, puedes seguir estos pasos:

1. Primero, necesitas identificar la categoría actual en la que se encuentra el usuario. Puedes hacer esto utilizando la siguiente función en el archivo functions.php de tu theme o en un plugin personalizado:

PHP:
function custom_get_current_category() {
    if (is_product_category()) {
        $category = get_queried_object();
        return $category->term_id;
    }
    return false;
}

2. Luego, puedes utilizar el ID de la categoría actual para mostrar el sidebar específico en tu archivo sidebar.php, donde defines el contenido de tu sidebar. Por ejemplo:

PHP:
$current_category = custom_get_current_category();

if ($current_category) {
    if ($current_category === 'ID_CATEGORIA_PLACA_BASE') {
        // Mostrar el contenido del sidebar para la categoría Placa base
        dynamic_sidebar('placa_base_sidebar');
    } elseif ($current_category === 'ID_CATEGORIA_PROCESADORES') {
        // Mostrar el contenido del sidebar para la categoría Procesadores
        dynamic_sidebar('procesadores_sidebar');
    } else {
        // Mostrar un sidebar genérico
        dynamic_sidebar('generic_sidebar');
    }
}

3. Asegúrate de registrar tus sidebars en el archivo functions.php de tu theme o en un plugin personalizado:

PHP:
function custom_register_sidebars() {
    register_sidebar(array(
        'name' => 'Sidebar para Placa base',
        'id' => 'placa_base_sidebar',
        'description' => 'Este es el sidebar para la categoría Placa base.',
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget' => '</div>',
        'before_title'  => '<h2 class="widgettitle">',
        'after_title'   => '</h2>',
    ));

    register_sidebar(array(
        'name' => 'Sidebar para Procesadores',
        'id' => 'procesadores_sidebar',
        'description' => 'Este es el sidebar para la categoría Procesadores.',
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget' => '</div>',
        'before_title'  => '<h2 class="widgettitle">',
        'after_title'   => '</h2>',
    ));

    register_sidebar(array(
        'name' => 'Sidebar Genérico',
        'id' => 'generic_sidebar',
        'description' => 'Este es el sidebar para otras categorías.',
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget' => '</div>',
        'before_title'  => '<h2 class="widgettitle">',
        'after_title'   => '</h2>',
    ));
}

add_action('widgets_init', 'custom_register_sidebars');

Siguiendo estos pasos, podrás mostrar sidebars diferentes según la categoría de WooCommerce que esté visitando el usuario. ¡Espero que esta información te sea útil! Si tienes más preguntas, ¡no dudes en decirlo!
 

Temas similares

Atrás
Arriba