Woocommerce: No reducir stocks en pedidos con pago Transferencia bancaria

Muchos pedidos con forma de pago “transferencia bancaria” nunca se recibe la transferencia.

Las funciones siguientes hacen que el stocks no se reduzca automáticamente en los pedidos con el método de pago “transferencia bancaria”, en cambio si se actualiza el stock cuando el pedido cambia de estatus de “en espera” a “en proceso” o “completado”.

// NO ACTUALIZAR STOCKS EN PEDIDOS POR TRANSFERENCIA BANCARIA 
function wcs_do_not_reduce_onhold_stock( $reduce_stock, $order ) {
    if ( $order->has_status( 'on-hold' ) && $order->get_payment_method() == 'bacs' ) {
        $reduce_stock = false;
    }
    return $reduce_stock;
}
add_filter( 'woocommerce_can_reduce_order_stock', 'wcs_do_not_reduce_onhold_stock', 10, 2 );


// ACTUALIZAR STOCKS EN PEDIDOS POR TRANSFERENCIA BANCARIA CUANDO ESTADO PASA A COMPLETADO
function order_stock_reduction_based_on_status( $order_id, $old_status, $new_status, $order ){
    // Only for 'processing' and 'completed' order statuses change
    if ( $new_status == 'processing' || $new_status == 'completed' ) {
    $stock_reduced = get_post_meta( $order_id, '_order_stock_reduced', true );
        if( empty($stock_reduced) && $order->get_payment_method() == 'bacs' ){
            wc_reduce_stock_levels($order_id);
        }
    }
}
add_action( 'woocommerce_order_status_changed', 'order_stock_reduction_based_on_status', 20, 4 );

Número de etiquetas a mostrar en widget Tag Cloud

Configurar el número de etiquetas a mostrar en el widget Nube de etiquetas (Tag Cloud):

function set_widget_tag_cloud_args($args) {
    $args['number'] = 80;   // Mostrar 80 etiquetas
    $args['smallest'] = 8;
    return $args;
}
add_filter('widget_tag_cloud_args','set_widget_tag_cloud_args');

 

Mas parámetros: https://codex.wordpress.org/Function_Reference/wp_tag_cloud

Añadir Tamaño de las imágenes personalizado

Añadir a la biblioteca de medias de WP tamaño de imagen personalizado:

function eb_after_setup_theme () {
    add_image_size( 'content-slide', 847, 350, true );
}
add_action( 'after_setup_theme', 'eb_after_setup_theme' );

function eb_image_size_names_choose( $sizes ) {
    $custom_sizes = array(
        'content-slide' => 'Content Slide'
    );
    return array_merge( $sizes, $custom_sizes );
}
add_filter( 'image_size_names_choose', 'eb_image_size_names_choose' );

Consultar:

https://developer.wordpress.org/reference/functions/add_image_size/