Si en tu tienda no quieres mostrar solo las categorías, o solo los productos, puedes mostrar una sección por cada categoría. Modifica el atributo limit
del shortcode para cambiar la cantidad de productos de cada categoría.
/* Separar productos por categorias */
//1. Ocultamos los productos de la tienda
add_action('pre_get_posts', 'nwp_ocultar_productos_tienda_woo');
function nwp_ocultar_productos_tienda_woo($q) {
if (!$q - > is_main_query()) return;
if (!$q - > is_post_type_archive()) return;
if (!is_admin() && is_shop()) {
$q - > set('post__in', array(0));
}
remove_action('pre_get_posts', 'nwp_ocultar_productos_tienda_woo');
}
//2. Ocultamos el mensaje de error de que no hay productos
remove_action('woocommerce_no_products_found', 'wc_no_products_found');
//3. Agregamos la visualizacion de productos separados por categorias
add_action('woocommerce_no_products_found', 'nwp_4_productos_cat_woo');
function nwp_4_productos_cat_woo() {
$args = array(
'parent' => 0,
'hide_empty' => true,
'taxonomy' => 'product_cat',
'fields' => 'slugs',
);
$categories = get_categories($args);
foreach($categories as $category_slug) {
$term_object = get_term_by('slug', $category_slug, 'product_cat');
echo '<hr><h2>'.$term_object - > name.
'</h2>';
echo do_shortcode('[products limit="4" columns="4" category="'.$category_slug.
'"]');
echo '<p><a href="'.get_term_link($category_slug, 'product_cat').
'">Ver todos los productos en '.$term_object - > name.
'→</a>';
}
}
Herramientas
- WooCommerce
El plugin para crear tiendas online por excelencia. Tanto de productos físicos como digitales. Es la base para prácticamente cualquier proyecto web que acepte pagos online.