Saltar al contenido
themeforge
ES
Empieza gratis
Menú
  1. Inicio
  2. Recetas de secciones
  3. Catálogo de productos
Receta 4 pasos

Un catálogo de productos: orden, tarjetas y precios

La página de la tienda de WooCommerce con tu diseño: arriba, un título y un par de líneas; debajo, el orden y las tarjetas de productos con precios. Los productos nuevos aparecen solos en el catálogo.

Qué obtienes

Marcado archive-product.html
<body wp-fields-group="Shop">
<header class="shop-hero">
  <h1 wp="post-title">Beans</h1>
  <p class="shop-hero__lead" fld-area="Shop lead">Roasted on Mondays, shipped on Tuesdays.</p>
</header>
<form class="sort" wp="sort">
  <select class="sort__select" wp="orderby">
    <option value="menu_order">Default</option>
    <option value="price">Price: low to high</option>
  </select>
</form>
<div class="beans" wp="products">
  <div class="bean-card">
    <a href="#" wp="post-link"><img src="images/bean.jpg" alt="" wp="post-image"></a>
    <h3><a href="#" wp="post-title-link">Ethiopia Yirgacheffe</a></h3>
    <div class="bean-card__prices">
      <span wp="product-price">$14.00</span>
      <span wp="product-price-sale">$12.00</span>
      <span class="is--old" wp="product-price-regular">$14.00</span>
    </div>
  </div>
</div>
<div class="beans__empty" wp="no-results">No beans match.</div>
<div class="pagination" wp-paginate="mid_size=1"></div>
</body>
En el panel Pages → Beans
Pages → Beans
  • Title: Beans
  • WooCommerce → Settings → Products → Shop page: Beans
Shop
Shop lead Roasted on Mondays, shipped on Tuesdays.
Products
  • Ethiopia Yirgacheffe — $14.00
  • Colombia Huila — $13.00
  • Brazil Cerrado — $11.00
  • House blend “Warm” — $12.00
En el sitio la página de la tienda
Beans

Roasted on Mondays, shipped on Tuesdays.

Price: low to high
Brazil Cerrado $11.00
House blend “Warm” $12.00
Colombia Huila $13.00
1 2 →

Un comprador eligió «Price: low to high» y las tarjetas se reordenaron.

Paso a paso

  1. Título e introducción

    wp="post-title" y fld-area sobre las tarjetas leen la página de la tienda, la que está elegida en WooCommerce → Ajustes → Productos. El cliente la edita como cualquier página.

    <h1 wp="post-title">Beans</h1>
    <p class="shop-hero__lead" fld-area="Shop lead">Roasted on Mondays, shipped on Tuesdays.</p>
  2. Orden

    <form wp="sort"> con un <select wp="orderby"> dentro. Los valores de las opciones son los criterios de orden de WooCommerce: menu_order, price, price-desc, date, popularity, rating.

    <form class="sort" wp="sort">
      <select class="sort__select" wp="orderby">
        <option value="menu_order">Default</option>
        <option value="price">Price: low to high</option>
      </select>
    </form>
  3. Tarjetas de productos

    wp="products" en la cuadrícula; la primera tarjeta es el patrón. Dentro, el enlace, la imagen, el nombre y tres bloques de precio: el tema oculta por su cuenta los que sobran. Al lado, wp="no-results".

    <div class="beans" wp="products">
      <div class="bean-card">
        <a href="#" wp="post-link"><img src="images/bean.jpg" alt="" wp="post-image"></a>
        <h3><a href="#" wp="post-title-link">Ethiopia Yirgacheffe</a></h3>
        <div class="bean-card__prices">
          <span wp="product-price">$14.00</span>
          <span wp="product-price-sale">$12.00</span>
          <span class="is--old" wp="product-price-regular">$14.00</span>
        </div>
      </div>
    </div>
    <div class="beans__empty" wp="no-results">No beans match.</div>
  4. Números de página

    wp-paginate en un bloque vacío después de la cuadrícula.

    <div class="pagination" wp-paginate="mid_size=1"></div>

Lo importante

  • Necesita WooCommerce.
  • Si no hay un taxonomy-product-cat.html aparte, las categorías de productos se abren con esta misma plantilla, y wp="products" muestra lo que hay en la categoría abierta.
  • En otra página, como la de inicio, los productos salen con wp-product-query.

Errores frecuentes

El registro de la generación es la pestaña «Registros» de tu proyecto en themeforge.pro; la revisión gratuita del marcado muestra los mismos avisos.

Así no
<div class="beans" wp-query="'post_type'=>'product','posts_per_page'=>12">
  <div class="bean-card">
    <h3 wp="post-title">Ethiopia Yirgacheffe</h3>
  </div>
</div>

wp-query en lugar de wp="products" hace su propia selección: ni el orden ni las categorías de productos le afectan. El registro no dice nada.

Así sí
<div class="beans" wp="products">
  <div class="bean-card">
    <h3 wp="post-title">Ethiopia Yirgacheffe</h3>
  </div>
</div>

wp="products" toma lo que WooCommerce ha seleccionado para esta página.

Así no
<select class="sort__select" wp="orderby">
  <option value="price">Price: low to high</option>
</select>

Una lista de orden sin su propio formulario: la generación anota el atributo en el registro y la lista no hace nada.

Así sí
<form class="sort" wp="sort">
  <select class="sort__select" wp="orderby">
    <option value="price">Price: low to high</option>
  </select>
</form>

La lista dentro de <form wp="sort">.

Atributos de esta receta

Cuando quieras

Mira el panel de WordPress de tu sitio antes de pagar.