Este código não me deixa eliminar campos utilizados

  • Autor Autor eswal200
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
eswal200

eswal200

Préstamo impago
1
Zeta
Verificación en dos pasos activada
Suscripción a IA
Hola gente.

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


Inserir CODE, HTML ou 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..
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
@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:


Inserir CODE, HTML ou 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.
Inserir CODE, HTML ou PHP:
if (!empty($woocommerce_custom_product_text_field)) // Elimina esta linea
 
Listo muchachos, Gracias por su ayuda ya lo puede solucionar eliminando :

Inserir CODE, HTML ou PHP:
if (!empty($woocommerce_custom_product_text_field))

Como lo indico @Stron
 
Voltar
Topo