Soporte » Plugins y Hacks » WooCommerce » Sidebar en producto

  • Buenas, estoy trabajando con Woocommerce en WordPress y me gustaría poder poner un sidebar en la pagina de productos, no en la tienda , sino donde se visualizan los productos, el precio, descripción , etc, no encuentro la manera de modificar ese apartado por que el propio Woocomerce me lo habré como una hoja de producto en vez de una pagina de WordPress, nose si me explico.

    Si conocéis alguna solución por plugin o tocar codigo me haríais un gran favor. Muchas gracias por todo

Viendo 15 respuestas - de la 1 a la 15 (de un total de 16)
  • Hola @joshxsm,

    ¿Qué tema estás utilizando? ¿Tienes alguna url donde pueda echarle un vistazo a la web?

    En caso de que no te lo permita el tema actual, podrías habilitar un sidebar en el functions de tu tema o, si estás utilizando algún tema que no hayas desarrollado, el functions de un tema hijo.

    Coméntame y te ayudo a implementarlo.

    Un saludo,

    Iniciador del debate joshxsm

    (@joshxsm)

    Buenas Franken, es un tema que pague en Themeforest , se llama Zorka, te paso donde lo quiero implementar:

    Producto de prueba

    He probado revisando los widgets , etc y no encuentro la forma, woocommerce me lo coge como producto y no como pagina de wordpress, lo suyo seria que se implementara en todas las paginas de los productos.

    Muchas gracias por la ayuda

    • Esta respuesta fue modificada hace 5 años, 10 meses por joshxsm.
    Iniciador del debate joshxsm

    (@joshxsm)

    He estado mirando y en el editor me aparece: Zorka: content-single-product.php (woocommerce/content-single-product.php), al inspeccionar codigo en Google Chrome en la pagina del producto me aparece single-product, podrias meter ahi el sidebar ?

    Hola @joshxsm,

    Una opción sería preguntar al soporte del Tema en http://support.g5plus.net/ para que te recomienden qué hacer. Quizás el propio tema tenga una opción para activarlo.

    En caso de que no respondan en unos días o el tema no te ofrezca esa posibilidad, podrías crear un child theme para incluir esa funcionalidad y que no te afecten futuras actualizaciones del tema padre. Espera un par de días y coméntame si te han dado alguna solución para decirte como hacerlo entonces.

    Un saludo,

    Iniciador del debate joshxsm

    (@joshxsm)

    Buenas Franken , ya hable con ellos hace 4 dias pero no me contestaron, he buscado en todo el tema la configuración y no hay nada parecido a lo que quiero configurar, hay para poner Page Layout en Archive y en la Tienda pero dentro del producto nada, si me puede decir como hacerlo, puedo tocar código, no hay problema.

    Espero tu respuesta, muchas gracias por todo

    ¿Tienes directamente activo el tema Zorka o un child theme del mismo?

    Si es Zorka directamente, lo mejor será crear un tema hijo. Te paso en enlace donde explican con detalle cómo hacerlo. https://codex.wordpress.org/es:Temas_hijos

    Básicamente es crear un nuevo tema en la carpeta: wp-content/themes, justo donde ahora encuentras el tema Zorka y al lado crear una nueva carpeta. Sigue la guía que te adjunto y coméntame si tienes algún problema. Este es el primer paso antes de crear una función para habilitar un sidebar personalizado.

    Un saludo,

    Iniciador del debate joshxsm

    (@joshxsm)

    Perfecto, me pongo a ello , el tema Zorka no tiene tema hijo, voy haciendo y te digo, muchísimas gracias por todo

    Iniciador del debate joshxsm

    (@joshxsm)

    Buenas Franken, ya esta creado el tema hijo, con el style.css y el functions.php, he seguido la guia que me has pasado y los archivos tiene los mismo que la guía, espero tus indicaciones. Muchas gracias por todo

    Bien!

    Ahora tendríamos que hacer dos cosas. La primera es crear una función en nuestro child theme para crear un nuevo sidebar que servirá para mostrarse en la página de producto o aquellas otras que quieras.

    Para ello, copia y pega el siguiente código en el archivo functions.php de tu theme, modificando «prefix» por el prefijo que quieras utilizar en tu theme:

    
    function prefix_register_sidebars() {
    	register_sidebar(array(
    		'id' => 'sidebar_product',
    		'name' => __( 'Sidebar de Producto', 'prefix' ),
    		'description' => __( 'Sidebar en la página de producto.', 'prefix' ),
    		'before_widget' => '<div id="%1$s" class="widget %2$s">',
    		'after_widget' => '</div>',
    		'before_title' => '<h4 class="widgettitle">',
    		'after_title' => '</h4>',
    	));
    }
    add_action( 'widgets_init', 'prefix_register_sidebars' );
    

    Guarda los cambios y súbelos a tu web. Con esto, deberá aparecer un nuevo área en la zona del Widgets del Panel de Administración con el nombre y descripción que hemos indicado en el código anterior.

    Ahora, para mostrar este área personalizada en la página de tu tema debes hacer lo siguiente. Crea una carpeta dentro de tu tema con el nombre «woocommerce» y dentro debes pegar una copia del archivo content-single-product.php de tu tema padre.

    Para asegurarnos de no romper la estructura, si te parec,e puedes colgar ese mismo archivo en Dropbox, Google Drive o algún servicio similar y pasarme el enlace para echarle un vistazo y decirte exactamente dónde deberíamos incluir el código que mostrará el sidebar.

    Un saludo!

    • Esta respuesta fue modificada hace 5 años, 10 meses por Fran Perez.
    • Esta respuesta fue modificada hace 5 años, 10 meses por Fran Perez.
    Iniciador del debate joshxsm

    (@joshxsm)

    Hola Franken, he añadido las lineas de código del functions.php que me has indicado en zorka-child de mi FTP, he guardado pero no me aparece nada en el administrador de Widget con el nombre que le he puesto:

    <?php //Etiqueta PHP de inicio
    
    // Funcion a nuestro gusto que queramos incluir
    function prefix_register_sidebars() {
    	register_sidebar(array(
    		'id' => 'sidebar_product',
    		'name' => __( 'Sidebar de Producto', 'prefix' ),
    		'description' => __( 'Sidebar en la página de producto.', 'prefix' ),
    		'before_widget' => '<div id="%1$s" class="widget %2$s">',
    		'after_widget' => '</div>',
    		'before_title' => '<h4 class="widgettitle">',
    		'after_title' => '</h4>',
    	));
    }
    add_action( 'widgets_init', 'prefix_register_sidebars' );
    //Etiqueta PHP de cierre
    ?> 

    Saludos

    Iniciador del debate joshxsm

    (@joshxsm)

    Vale , ya esta solucionado , te paso el content-product:

    https://www.dropbox.com/s/891cb99kbvugu9v/content-single-product.php?dl=0

    Ya me dirás donde lo puedo meter, muchas gracias por todo de verdad.

    Me confundí de plantilla. Tienes que hacer una copia del single-product.php del tema, que es donde encontraremos la zona del sidebar.

    En el código de esta plantilla puedes revisar si aparece el siguiente código:

    
    	<?php
    		/**
    		 * woocommerce_sidebar hook.
    		 *
    		 * @hooked woocommerce_get_sidebar - 10
    		 */
    		do_action( 'woocommerce_sidebar' );
    	?>
    
    Iniciador del debate joshxsm

    (@joshxsm)

    Buenas, en el single-product.php no aparece, pero te paso igualmente el archivo para que lo revises.

    https://www.dropbox.com/s/n51yzs88bz265oo/single-product.php?dl=0

    Hola!

    He añadido lo siguiente a la plantilla para que aparezca el sidebar que hemos creado anteriormente:

    
    <div class="col-md-4 col-lg-4 col-sm-4">
    		<aside id="sidebar" role="complementary">
    			<?php if ( is_active_sidebar( 'sidebar_product' ) ) : ?>
    				<?php dynamic_sidebar( 'sidebar_product' ); ?>
    			<?php else : ?>
    				<div class="no-widgets">
    					<p><?php _e( 'Este area mostrará los widgets que añadas en el panel de administración.', 'prefix' );  ?></p>
    				</div>
    			<?php endif; ?>
    		</aside>
    	</div>
    

    E igualmente he añadido varias etiquetas <div> para estructurar el contenido según el layout que utiliza tu tema.

    Puedes descargar la nueva plantilla aquí: https://www.dropbox.com/s/4yzsnt4a3fv5pex/single-product.php?dl=0 y sustituirla por la que hay en la carpeta woocommerce de tu child-theme.

    Coméntame si te funcionó.

Viendo 15 respuestas - de la 1 a la 15 (de un total de 16)
  • El debate ‘Sidebar en producto’ está cerrado a nuevas respuestas.