Plantilla personalizada de página de tienda de Woocommerce

3 minutos de lectura

Según tengo entendido, por defecto, la página de la tienda de Woocommerce utiliza una plantilla de archivo de productos. Lo que estoy buscando es usar una plantilla personalizada para la página de la tienda.

Aquí esta lo que hice:

  1. Crear plantilla “mi-tienda”
  2. Crear página “Mi tienda” -> elegir plantilla “mi tienda”
  3. Elija “Mi tienda” como página de la tienda de Woocommerce

Pero ninguno de los cambios que hice en la plantilla “mi tienda” está presente en la página de la tienda.

¿Que me estoy perdiendo aqui? No me gustaría cambiar el archivo de productos en sí, solo la página de la tienda.

¿Hay alguna manera de deshabilitar el archivo de productos para que no sea un valor predeterminado para la página de la tienda?

Gracias

  • stackoverflow.com/questions/37264723/…

    – Sark

    24 mayo 2016 a las 13:54

avatar de usuario
hierba azul

Sé que es demasiado tarde y es posible que ya lo hayas descubierto. En cualquier caso, los cambios que le gustaría realizar en la página de la tienda de WooCommerce deben realizarse en el archive-product.php y sería más seguro crear un tema secundario y hacer estos cambios. Hacer mejoras y personalizaciones en un tema secundario es una buena práctica para que pueda actualizar el tema principal en cualquier momento y no afectará su tienda.

Espero que esto ayude, para obtener más información sobre cómo puede usar los códigos cortos de WooCommerce para personalizar su tienda. aquí.

Para agregar a la respuesta de Silver Ringvee, usó is_page pero eso solo funciona en páginas de wordpress. Para woocommerce necesitas usar algo como is_woocommerce() . Ver Página de etiquetas condicionales de Woocommerce.

Mi código de ejemplo usa el is_shop etiqueta condicional ya que esa era la página que quería cambiar. el código get_template_part( 'content', 'shop' ); llamará al archivo content-shop.php en la carpeta raíz de su tema. Este código debe agregarse en la parte superior de wp-content\themes\*theme*\woocommerce\archive-product.php que puedes copiar de wp-content\plugins\woocommerce\templates\archive-product.php

Puedes agregarlo justo antes get_header( 'shop' ); línea 23 en mi archivo, y toda la página se extraerá de su plantilla. Si desea mantener el encabezado de la página de la tienda, coloque este código después del get_header código. Recuerde incluir también un pie de página en su archivo

if (is_shop()) {
 get_template_part( 'content', 'shop' );
} else  {  
#normal archive-product code here
}

La solución (no perfecta) que pensé que funcionaría mejor, hasta que alguien encuentre una manera de cambiar la plantilla desde el tablero:

Agregando:

<?php
if (is_page( 'Page Title' ) ):
  # Do your stuff
endif;
?>

a content-product.php en la carpeta de woocommerce de mi tema.

Si prefiere ir con el código, puede crear una redirección desde la página de la tienda original a su página a través de wp_redirect.

add_action('template_redirect', 'bc_010101_redirect_woo_pages');
function bc_010101_redirect_woo_pages()
{


 if (is_shop())
 {

  wp_redirect('your_shop_url_here');
  exit;
 }
}

Se puede encontrar un tutorial más detallado. aquí

Esto no es posible para crear una plantilla personalizada para la página de la tienda, simplemente copie y pegue las plantillas de Woocommerce en su carpeta de temas e intente trabajar en la plantilla content-product.php.

  • Woocommerce es de código abierto. Todo es posible.

    – Jon

    7 de marzo de 2018 a las 15:28

  • Usando el tema hijo, podemos personalizarlo.

    – Lakin Mohapatra

    21 de enero de 2021 a las 13:12

  • Woocommerce es de código abierto. Todo es posible.

    – Jon

    7 de marzo de 2018 a las 15:28

  • Usando el tema hijo, podemos personalizarlo.

    – Lakin Mohapatra

    21 de enero de 2021 a las 13:12

¿Ha sido útil esta solución?