Este codigo no me deja eliminar campos utilizados

  • Autor Autor eswal200
  • Fecha de inicio Fecha de inicio
eswal200

eswal200

Préstamo
Zeta
Verificación en dos pasos activada
Verificado por Whatsapp
Hola gente.

Estoy utilizando el siguiente codigo para agregar campos de porductos personalizados en woocommerce:


Insertar CODE, HTML o PHP:
// Display Fields
add_action('woocommerce_product_options_general_product_data', 'woocommerce_product_custom_fields');
// Save Fields
add_action('woocommerce_process_product_meta', 'woocommerce_product_custom_fields_save');
function woocommerce_product_custom_fields()
{
    global $woocommerce, $post;
    echo '<div class="product_custom_field">';
    // Custom Product Text Field
    woocommerce_wp_text_input(
        array(
            'id' => '_custom_product_text_field',
            'placeholder' => 'Custom Product Text Field',
            'label' => __('Nombre del seminario', 'woocommerce'),
            'desc_tip' => 'true'
        )
    );

    echo '</div>';
}

function woocommerce_product_custom_fields_save($post_id)
{
    // Custom Product Text Field
    $woocommerce_custom_product_text_field = $_POST['_custom_product_text_field'];
    if (!empty($woocommerce_custom_product_text_field))
        update_post_meta($post_id, '_custom_product_text_field', esc_attr($woocommerce_custom_product_text_field));

}


El código funciona bien, hace todo lo que debería hacer, si edito el campo y cambio el texto en el y luego actualizo pues esto funciona bien, pero me di cuenta que después de ingresar un texto este campo no puede estar vació, osea, si elimino el texto y actualizo vuelve a estar el mimo texto.

El código lo encontré en esta web: https://www.cloudways.com/blog/add-custom-product-fields-woocommerce/

Imagino que le hace falta otro código para eliminar el texto.

Alguien me podría indicar que hacer?

Gracias..
 
@eswal200 Creo que es aquí, si esta vació no actualizara!

PHP:
if (!empty($woocommerce_custom_product_text_field))
        update_post_meta($post_id, '_custom_product_text_field', esc_attr($woocommerce_custom_product_text_field));


cámbialo a este!
PHP:
if (isset($woocommerce_custom_product_text_field))
        update_post_meta($post_id, '_custom_product_text_field', esc_attr($woocommerce_custom_product_text_field));
 
Hola gente.

Estoy utilizando el siguiente codigo para agregar campos de porductos personalizados en woocommerce:


Insertar CODE, HTML o PHP:
// Display Fields
add_action('woocommerce_product_options_general_product_data', 'woocommerce_product_custom_fields');
// Save Fields
add_action('woocommerce_process_product_meta', 'woocommerce_product_custom_fields_save');
function woocommerce_product_custom_fields()
{
    global $woocommerce, $post;
    echo '<div class="product_custom_field">';
    // Custom Product Text Field
    woocommerce_wp_text_input(
        array(
            'id' => '_custom_product_text_field',
            'placeholder' => 'Custom Product Text Field',
            'label' => __('Nombre del seminario', 'woocommerce'),
            'desc_tip' => 'true'
        )
    );

    echo '</div>';
}

function woocommerce_product_custom_fields_save($post_id)
{
    // Custom Product Text Field
    $woocommerce_custom_product_text_field = $_POST['_custom_product_text_field'];
    if (!empty($woocommerce_custom_product_text_field))
        update_post_meta($post_id, '_custom_product_text_field', esc_attr($woocommerce_custom_product_text_field));

}


El código funciona bien, hace todo lo que debería hacer, si edito el campo y cambio el texto en el y luego actualizo pues esto funciona bien, pero me di cuenta que después de ingresar un texto este campo no puede estar vació, osea, si elimino el texto y actualizo vuelve a estar el mimo texto.

El código lo encontré en esta web: https://www.cloudways.com/blog/add-custom-product-fields-woocommerce/

Imagino que le hace falta otro código para eliminar el texto.

Alguien me podría indicar que hacer?

Gracias..
Prueba quitando la condición, para que ignore si está vacío.
Insertar CODE, HTML o PHP:
if (!empty($woocommerce_custom_product_text_field)) // Elimina esta linea
 
Listo muchachos, Gracias por su ayuda ya lo puede solucionar eliminando :

Insertar CODE, HTML o PHP:
if (!empty($woocommerce_custom_product_text_field))

Como lo indico @Stron
 
Atrás
Arriba