• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
Inicio / Tutoriales / Plugins / Personalizar el Loop de WooCommerce
Anuncio banner webservi

Personalizar el Loop de WooCommerce

Personalizar el Loop de WooCommerce

[ 8 octubre 2020 ] [ Autor: Jhon Marreros Guzmán ][ Plugins - Avanzado] [ ]

funcionalidad

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

En un artículo anterior habíamos visto qué es el loop de WordPress, en este artículo usaremos como base el Loop de WordPress para construir un Loop personalizado para productos de WooCommerce.

 

Resultado final

Al final obtendremos algo similar a lo que se muestra en la siguiente imagen, incluye los filtros de ordenación, datos de cantidad de productos, paginación y la lista de productos.

filtros paginacion y lista de productos del loop de WooCommerce

 

Generalidades

WooCommerce tienes shortcodes predeterminados que nos pueden ayudar a recuperar productos, sin embargo modificar el Loop de WooCommerce a través de código nos da mucho más flexibilidad para realizar cambios.

 

Loop personalizado de WooCommerce

El siguiente código muestra todos los productos de la tienda en un loop personalizado, en base a este loop puedes hacer las modificaciones que desees pasándole los argumentos a la función wc_get_products()

Este código esta basado en el código publicado en este gist

En el código anterior:

  • Primero comprobamos que exista WooCommerce a través de la comprobación de una función.
  • Luego recuperamos y establecemos variables para la paginación y el ordenamiento.
  • Construimos la consultas, definiendo el array de argumentos que usará la función wc_get_products()
  • Esta consulta sólo devuelve los IDs, en base a estos valores construiremos el bucle.
  • Establecemos las variables globales para el bucle usando la función wc_set_loop_prop()
  • Construimos el bucle usando la estructura for, en cada parte respetamos los Hooks de WooCommerce.
  • Dentro del bucle usamos setup_postdata() para establecer el post actual.
  • Además dentro del bucle llamamos a un archivo de plantilla para mostrar los productos.
  • Finalmente usamos las funciones y Hooks de WooCommerce que indican la finalización del bucle.

 

Conclusión

Si deseas personalizar el loop o bucle de WooCommerce, es mejor usar las propias funciones de WooCommerce, en lugar de usar funciones genéricas del loop de WordPress para recuperar el listado de productos. Con el loop de WooCommerce tenemos la flexibilidad de hacer las modificaciones a los productos que se muestran y la información que los acompaña.

 
¿Aún con dudas?, en el siguiente video explico cómo usar este loop de WooCommerce a través de un ejemplo.

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Loop de WordPress¿Qué es el Loop de WordPress?
  • Usar un plugin para crear pluginsUsar un plugin para crear plugins
  • agregar código sin usar functions.phpAgregar código a tu sitio sin usar functions.php
  • Mostrar el stock en la lista de productos de WooCommerceMostrar el stock en la lista de productos de WooCommerce
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (2 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Comentarios

  1. Diseño web

    13 octubre, 2020

    Hola, muy bueno el articulo e interesante para que el diseño o aspecto de la tienda sea más fácil y agradable.

    Muchas gracias.

    • Jhon Marreros Guzmán

      14 octubre, 2020

      Si, te permite personalizar 🙂

  2. Hernan

    16 octubre, 2020

    Hola John, excelente tus tutoriales. Quisiera consultarte como puedo realizar lo siguiente: Necesito deshabilitar la compra de un producto de woocommerce si el usuario que está logueado en ese momento ya ha comprado ese producto anteriormente. Encontré que existe una función (wc_customer_bought_product) que verifica si ya se ha comprado un producto en particular, pero no logro crear ese action para quitar ese producto. Agradezco de antemano.

    • Jhon Marreros Guzmán

      19 octubre, 2020

      Hola, veo que hay un plugin que puedes evaluar que tiene esta funcionalidad, revisa: https://wordpress.org/plugins/woo-wolly-one-time-buy/

  3. leo

    30 octubre, 2020

    Acabo de atualizar Wordpres .
    Cuando subo una plubicacion en la tienda de worcomerce hay un problema. Se queda cargando la página. En cambio las demas publicacion se ven. Me puedes ayudar ?

    • Jhon Marreros Guzmán

      30 octubre, 2020

      Hola, posiblemente sea algún conflicto de plugins, prueba desactivando uno a uno tus plugins hasta ver cual te causa el problema.

      • vetoriano

        31 octubre, 2020

        Echo todo el proceso y sigue igual. Me gustaria que lo vieras peronalmente.

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral primaria

Presentación

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
Los 5 posibles errores que estas cometiendo cuando trabajas con código en WordPress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad social

Populares

Usando Custom Post Types en WordPress

Modificar elementos en página de producto de WooCommerce

Redireccionar las páginas de adjuntos en WordPress

Actualizar el stock de productos usando la API de WooCommerce

Recientes

  • Leer datos desde otra base de datos en WordPress
  • Crear un sitio One Page en WordPress
  • Mostrar lista de autores en WordPress
  • Añadir código de Google Tag Manager sin plugins en WordPress
alojamiento wordpress

© logo decode pie Copyright 2021 | Todos los derechos reservados | Política de Privacidad