WooCommerce: Agregar Siguiente/Anterior @ Página de un solo producto

Un cliente muy agradable  tuvo un desafío muy agradable el otro día, ¡así que pensé en «donar» este fragmento valioso para todos ustedes!

Después de investigar en Internet por todas partes y no encontrar nada simple que también funcionara (en particular, este fragmento en StackOverflow y este Gist en Github ), ¡decidí hacerlo tú mismo!

Esto es lo que se me ocurrió: ¡disfrútalo!

WooCommerce: agregue enlaces siguientes/anteriores a la página de un solo producto
WooCommerce: agregue enlaces siguientes/anteriores a la página de un solo producto

Fragmento de PHP (Parte 1 de 3): Mostrar botones de producto siguiente/anterior (de la misma categoría) en una página de producto individual

/**
 * @snippet       Add next/prev buttons @ WooCommerce Single Product Page
 * @how-to        Get CustomizeWoo.com FREE
 * @sourcecode    https://businessbloomer.com/?p=20567
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 2.5.5
 */
 
add_action( 'woocommerce_before_single_product', 'bbloomer_prev_next_product' );
 
// and if you also want them at the bottom...
add_action( 'woocommerce_after_single_product', 'bbloomer_prev_next_product' );
 
function bbloomer_prev_next_product(){
 
echo '<div class="prev_next_buttons">';
 
   // 'product_cat' will make sure to return next/prev from current category
        $previous = next_post_link('%link', '&larr; PREVIOUS', TRUE, ' ', 'product_cat');
   $next = previous_post_link('%link', 'NEXT &rarr;', TRUE, ' ', 'product_cat');
 
   echo $previous;
   echo $next;
    
echo '</div>';
         
}

CSS (Parte 2 de 3): Estilo de los botones Siguiente/Anterior en una sola página de producto

Solo porque soy amable, decidí darle un estilo genial también. En particular, nos aseguramos de que los botones floten uno a la izquierda y otro a la derecha y que toda la nueva fila se muestre como un bloque.

/* CSS */
 
.prev_next_buttons {
line-height: 40px;
margin-bottom: 20px;
}
 
.prev_next_buttons a[rel="prev"], .prev_next_buttons a[rel="next"] {
display: block;
}
 
.prev_next_buttons a[rel="prev"] {
float: right;
}
 
.prev_next_buttons a[rel="next"] {
float: left;
}
 
.prev_next_buttons::after {
content: '';
display: block;
clear:both;
}

Clasificación de productos (Parte 3 de 3)

Las funciones utilizadas en el PHP anterior funcionarán en orden cronológico, según la documentación «next_post_link» y «anterior_post_link».

El problema es: ¿qué sucede si tiene productos de WooCommerce ordenados por orden alfabético o personalizado?

Al final, el cliente descubrió que la mejor manera de hacer que los dos funcionen juntos es usando el complemento gratuito Post Type Order . Simplemente descárguelo, actívelo y clasifique sus productos con ese complemento, y Siguiente/Anterior ahora seguirá esta clasificación personalizada.

Deja un comentario