Excluir productos de una categoría en la página de la tienda

A la hora de mostrar el stock disponible de productos en una tienda WooCommerce, las opciones son bastante limitadas. Por eso sería interesante tener diferentes frases o formatos para mostrar el stock que incentiven al visitante a realizar la compra. Una manera de hacerlo es mediante un código como el siguiente, que como siempre deberemos incluir en el archivo functions.php:

Al manejar una tienda WooCommerce, puede ocurrir que necesitemos tener cargados algunos productos que no queramos que aparezcan en la página principal del shop. Mediante el siguiente código, que deberemos incluir en el archivo functions.php de nuestro tema, podemos ocultar de la tienda los productos asignados a una determinada categoría (sólo debemos reemplazar «clothing» por el slug de la categoría que queremos ocultar).

/**
 * Exclude products from a particular category on the shop page
 */
function custom_pre_get_posts_query( $q ) {

    $tax_query = (array) $q->get( 'tax_query' );

    $tax_query[] = array(
           'taxonomy' => 'product_cat',
           'field' => 'slug',
           'terms' => array( 'clothing' ), // Don't display products in the clothing category on the shop page.
           'operator' => 'NOT IN'
    );


    $q->set( 'tax_query', $tax_query );

}
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );  

De esta manera, los productos sólo podrán ser vistos por quienes cuenten con el enlace permanente del producto (vía WooCommerce).

Personalizar mensajes de stock en WooCommerce

A la hora de mostrar el stock disponible de productos en una tienda WooCommerce, las opciones son bastante limitadas. Por eso sería interesante tener diferentes frases o formatos para mostrar el stock que incentiven al visitante a realizar la compra. Una manera de hacerlo es mediante un código como el siguiente, que como siempre deberemos incluir en el archivo functions.php:

 

add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_stock', 10 );
function woocommerce_template_loop_stock() {
    global $product;
    if ( ! $product->managing_stock() && ! $product->is_in_stock() )
        echo '

¡Nos quedamos sin stock, probá de nuevo mañana!

'; }

Para personalizar aún más los mensajes y estilos relacionados con el stock podemos recurrir a un plugin como Woo Custom Stock Status, que permite personalizar todas las cadenas de texto relacionadas con el stock y también establecer colores para cada tipo de mensaje (vía WP Decoder).

Cambiar campos de checkout en WooCommerce

Hace un par de meses vimos cómo agregar campos personalizados en WooCommerce utilizando un plugin. Hemos comprobado que dicho plugin se encuentra bastante desactualizado, así que es hora de cambiar la recomendación por otro llamado Checkout Field Editor. Este plugin no sólo permite agregar nuevos campos en el formulario de checkout, sino que permite cambiar y personalizar los existentes.
Por supuesto, los cambios en los campos de checkout también podemos hacerlo mediante código que deberemos agregar en el archivo functions.php. Por ejemplo este ejemplo sirve para modificar la etiqueta y el placeholder de un determinado campo.

 

// Hook in
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

// Our hooked in function - $fields is passed via the filter!
function custom_override_checkout_fields( $fields ) {
     $fields['order']['order_comments']['placeholder'] = 'My new placeholder';
     $fields['order']['order_comments']['label'] = 'My new label';
     return $fields;
}

(código vía documentación de WooCommerce).

Categorías y Etiquetas múltiples desde el URL

Para mostrar las entradas de una cierta categoría, WordPress recurre a una URL personalizada desde la cual podemos filtrar fácilmente el blog. Lo que no todo el mundo sabe es que desde la URL se puede también hacer referencia a múltiples categorías (utilizando una coma en la URL), o incluso mostrar solamente las entradas que están etiquetas con varias categorías (utilizando el signo +). A continuación algunos ejemplos.
 

https://www.casalepress.com/categoria/seguridad+servicios
https://www.casalepress.com/categoria/seguridad,servicios
https://www.casalepress.com/?category=seguridad+servicios
https://www.casalepress.com/?tag=music,apple