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!

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' , '← PREVIOUS' , TRUE, ' ' , 'product_cat' ); $next = previous_post_link( '%link' , 'NEXT →' , 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.