Barra lateral incorrecta mostrándose en la página de tienda de WooCommerce

20 nov 2012, 11:40:24
Vistas: 22.6K
Votos: -1

Estoy desarrollando una actualización de mi sitio en un nuevo plan VPS y uno de los principales cambios es cambiar de wp e-commerce a WooCommerce.

La URL de la página de la tienda WooCommerce es http://95.142.166.209/shop/ [Estoy accediendo al sitio a través de la dirección IP del VPS por ahora ya que mi dominio se está usando para el sitio en vivo - StackExchange no permite URLs con IP así que necesitarás copiar y pegar la IP en tu barra de direcciones (lo siento)]

Todavía estoy en el proceso de estilizar y crear plantillas pero no logro resolver el tema de la barra lateral. Mi tema de WordPress tiene 2 barras laterales definidas en su functions.php: blog sidebar y shop sidebar. Por alguna razón la única barra lateral que puedo mostrar en la página de la tienda es la barra lateral del blog que solo debería mostrarse (sorprendentemente) en el blog.

Intenté crear una plantilla para la tienda e inserté la función get_sidebar(), haciendo referencia al ID de la barra lateral de la tienda en el proceso, pero sin éxito.

Creo que WooCommerce debería registrar su propia barra lateral cuando se instala pero no hay señal de esto en el backend de WP bajo apariencia->widgets.

He revisado los archivos del tema de WooCommerce pero lo único relacionado con la barra lateral que puedo encontrar es un archivo php que contiene get_sidebar('shop') que obviamente está incluido por otros archivos del tema. No hay señal de que se registre una barra lateral con ID 'shop' en ninguna parte.

¿Alguna idea de cómo puedo hacer que se muestre la barra lateral correcta en las páginas de la tienda? Gracias

Veo que mi pregunta ha sido votada negativamente un par de veces - Lo siento si no está clara pero es una pregunta genuina. Si algo necesita aclaración sería de ayuda si dejaras un comentario en lugar de solo votar negativamente.

1
Comentarios

¿Qué tal si utilizamos las rutas de Woo Support?

kaiser kaiser
20 nov 2012 14:52:53
Todas las respuestas a la pregunta 5
1

WooCommerce tiene un plugin para barras laterales: http://www.woothemes.com/woosidebars/

Esto te dará un control realmente completo: puedes crear nuevas áreas de barras laterales para las páginas que prefieras.

20 nov 2012 11:50:32
Comentarios

Esa podría ser una opción, pero prefiero evitar instalar plugins adicionales cuando puedo lograr el resultado en mi tema. Solo quiero llegar al fondo de por qué no puedo hacer que se muestre mi segunda barra lateral de la tienda. ¿WooCommerce siempre usa la plantilla index.php o las páginas de WC obedecen las plantillas que se les asignan?

harryg harryg
20 nov 2012 12:09:48
1

WooCommerce por defecto buscará en el directorio de tu tema una plantilla de página llamada woocommerce.php y, si existe, utilizará esa plantilla al renderizar una página. De esta manera puedes sobrescribir la página predeterminada de WooCommerce de forma segura ante actualizaciones.

La forma más fácil de implementar esto es copiar tu page.php o single.php a woocommerce.php (en el mismo directorio) y luego editar el archivo para reemplazar el área de contenido con una llamada a WooCommerce.

<?php woocommerce_content(); ?>

Esto te da a ti y al tema un control casi completo sobre el diseño y las barras laterales.

Echa un vistazo a esta publicación sobre cómo tematizar WooCommerce, espero que te sea útil.

Estructura de plantillas de WooCommerce

20 nov 2012 16:25:30
Comentarios

Editado para explicar el uso de un archivo woocommerce.php personalizado dentro del tema que permite tener control total sobre las barras laterales.

Steve Steve
21 nov 2012 18:10:57
0

¡¡FINALMENTE!! Encontré una solución a un problema similar que estaba teniendo con el tema Customizr. Puedes verlo aquí.

Básicamente, puedes crear fácilmente una barra lateral personalizada que se edita en Apariencia > Widgets y solo aparecerá en las páginas de tu tienda.

Nota: Al seguir el ejemplo en este enlace, asegúrate de agregar <?php al principio del código que compone el archivo sidebar-shop.php.

Espero que esto te ayude tanto como me ayudó a mí.

26 ago 2013 17:46:56
0

Primer paso

Copia los archivos de plantilla de WooCommerce desde tu plugin a la carpeta de tu tema (detalles sobre cómo sobrescribir el tema predeterminado http://docs.woothemes.com/document/template-structure/)

Segundo paso

Crea un archivo sidebar-shop.php en la carpeta de tu tema

Tercer paso

Añade algún texto o una cadena echo dentro de tu sidebar-shop.php.

Cuarto paso

Actualiza el sitio y verás que el texto predeterminado comienza a mostrarse en lugar del contenido del blog predeterminado

Puedes personalizar aún más tu barra lateral como desees (detalles http://codex.wordpress.org/Function_Reference/register_sidebar)

En el área de widgets, añade productcategory en la barra lateral definida Así que ahora en tu barra lateral verás las categorías de productos en lugar del contenido del blog predeterminado

26 nov 2013 15:17:03
0

Estoy usando inove y las consecuencias son "woocommerce coloca la barra lateral en el pie de página o debajo" y no puedes desactivar la barra lateral en la consola de administración para Tienda o Productos, los demás están disponibles en la sección de páginas, solo elige la plantilla sin barra lateral.

Lo que tuve que hacer para resolver esto es increíblemente lento, posiblemente destructivo para todo tu sitio y nada pareció funcionar durante 3 días.

Modifiqué single-product.php, archive-product.php en Plugin>Woocommerce>Templates esto tuvo un efecto en la barra lateral pero aún no estaba correcto.

Esto es lo típico que hice con los archivos, comentar el código @hooked... de la barra lateral así:

/**
* woocommerce_sidebar hook
* do_action( 'woocommerce_sidebar' );
* @hooked woocommerce_get_sidebar - 10
*/

También intenté modificaciones en woocommerce.php y edité style.css y muchos otros en la consola de administración Apariencia>editor pero eliminé todas estas modificaciones ya que no funcionaron.

En las páginas seleccioné Carrito, Cuenta, Tienda y en Atributos de página al lado hice que todas las páginas tengan como Padre a Tienda y usen la plantilla por defecto.

El archivo final que edité wc-template-hooks.php resolvió el problema, está ubicado en la carpeta Plugin>Woocommerce>Includes. No estoy seguro si solo editas este archivo entonces solucionará todo.

/**
 * Sidebar
 *
 * @see woocommerce_get_sidebar()
 * add_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
 */

La barra lateral ahora está donde debería estar y solucionado para mí, gracias a todos los demás colaboradores cuyas soluciones pueden haber funcionado para versiones anteriores. Estoy ejecutando todo actualizado Junio 2014.

Saludos, voy a ver el fútbol y tomar unas cervezas

21 jun 2014 09:22:00