es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo establecer el valor 0 en lugar de un valor vacío como predeterminado en el editor de producto del administrador de woocommerce.

¿Cómo puedo hacer esto, por favor?
Intenté el siguiente código que encontré aquí:
[https://wordpress.stackexchange.com/questions/104760/woocommerce-how-to-set-product-regular-price-default][1]
pero me da un error: Error fatal: ArgumentCountError: Demasiado pocos argumentos para la función…..
Supongo que es un código viejo que ya no funciona con la última versión de WooCommerce.
Este es el código:

    function wpa104760_default_price( $post_id, $post ) {

    if ( isset( $_POST['_regular_price'] ) && trim( $_POST['_regular_price'] ) == '' ) {
        update_post_meta( $post_id, '_regular_price', '0' );
    }
}
add_action( 'woocommerce_process_product_meta', 'wpa104760_default_price' );

Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Gracias por contactarnos. Parece que el código que encontraste puede estar desactualizado y no es compatible con la versión actual de WooCommerce. Es probable que el error que recibiste se deba a que la función requiere más argumentos de los que se proporcionan actualmente.

    Existen varias formas diferentes de establecer un precio predeterminado para los productos en WooCommerce, dependiendo de tus necesidades. Una opción es utilizar un plugin diseñado específicamente para personalizar los precios de los productos, como “Dynamic Pricing and Discounts” o “WooCommerce Custom Prices”.

    Si prefieres utilizar código personalizado, puedes probar el siguiente enfoque:

    function set_default_price( $price, $product ) {
        // Cambia el valor aquí para establecer tu precio predeterminado deseado
        $default_price = 10.00;
    
        // Si el producto no tiene un precio establecido, utiliza el precio predeterminado
        if ( $price === '' ) {
            $price = $default_price;
        }
    
        return $price;
    }
    add_filter( 'woocommerce_product_get_price', 'set_default_price', 10, 2 );
    add_filter( 'woocommerce_product_variation_get_price', 'set_default_price', 10, 2 );
    

    Este código agrega un filtro a los ganchos woocommerce_product_get_price y woocommerce_product_variation_get_price, que se utilizan para recuperar el precio regular de un producto y sus variaciones, respectivamente. La función comprueba si el precio está vacío y, en caso afirmativo, lo establece en el valor predeterminado que especificas.

    ¡Espero que esto ayude! Avísame si tienes más preguntas.

Comments are closed.