Mostrar barra lateral por categoria no WooCommerce

  • Autor Autor Linares
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
L

Linares

Beta
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.!
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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!
 

Tópicos similares

Voltar
Topo