Actualizar el stock de productos de Woocommerce utilizando un nuevo campo interno vinculado al ERP

linkers Seguir

No recomendado
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Ha verificado su Paypal!
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
19 Jun 2017
Mensajes
104
Tengo integrada la tienda via APi con el ERP

¿Cómo crear un nuevo campo interno en cada producto del Woocommerce?

Lo necesito para ahí colocar data de actualización del ERP y cada vez que haya un cambio del stock en vivo, solo los productos con variaciones se actualice y no todos los 5.000 productos.
 

Koletta

Dseda
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
10 Dic 2012
Mensajes
1.130
Hola linkers,
Yo uso ACF (free) para añadir campos de cualquier tipo a los productos. Funciona bastante bien.
 

Accesito

Delta
Verificación en dos pasos desactivada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
24 Dic 2014
Mensajes
700
Te explico paso a paso para que puedas tenerlo tal que así (como es mi caso)

1596705503642.png


Te aparece en General donde pones el precio del producto y demás.

-----------------

En functions.php de tu tema (en el tema hijo):


PHP:
// Crear url google maps
add_action( 'woocommerce_product_options_general_product_data', 'add_custom_field_general_product_fields2' );
function add_custom_field_general_product_fields2(){
    global $post;

    $value = get_post_meta( $post->ID, '_url_google_maps', true );

    if(empty($value))
        $value = '';

    echo '<div class="options_group">';

    woocommerce_wp_text_input( array(
        'id'          => 'url_google_maps',
        'label'       => __( 'URL GOOGLE MAP', 'woocommerce' ),
        'placeholder' => 'https://',
        'desc_tip'    => 'true',
        'description' => __( 'URL Google Maps.', 'woocommerce' ),
        'value'       => $value
    ) );

    echo '</div>';
}

// Guardar url google maps
add_action( 'woocommerce_process_product_meta', 'save_custom_field_general_product_fields2' );
function save_custom_field_general_product_fields2( $post_id){

    // Text Field
    $url_google_maps = $_POST['url_google_maps'];
    if( !empty( $url_google_maps ) )
        update_post_meta( $post_id, '_url_google_maps', esc_attr( $url_google_maps ) );
}


Luego, si quieres mostrarlo en la página del producto yo tengo esto puesto (también dentro del functions);

PHP:
<?if (is_product()) { global $product;
    $product_id = $product->get_id();

    // Getting your custom product demo URL
    $url_google_maps = get_post_meta( $product_id, '_url_google_maps', true );
    $puntodeencuentro = get_post_meta( $product_id, '_puntodeencuentro', true );
    $url_google_maps4 = get_post_meta( $product_id, '_url_google_maps4', true );
    $puntodeencuentro4 = get_post_meta( $product_id, '_puntodeencuentro4', true );

    // Add it to your button:
    if( !empty( $url_google_maps ) )
        if( !empty( $puntodeencuentro ) and !empty( $puntodeencuentro4 ) )
            echo '<table class="shop_attributes"><tr>
                <th>Punto de encuentro</th>
                <td><p>'.$puntodeencuentro.'<br><a href="'.$url_google_maps.'" target="_blank" rel="noopener" rel="noreferrer"><strong>Abrir en Google Maps.</strong></a></p>
                <p>'.$puntodeencuentro4.'<br><a href="'.$url_google_maps4.'" target="_blank"><strong>Abrir en Google Maps.</strong></a></p>
                </td></tr><tr></table>';
        if( !empty( $puntodeencuentro ) and empty( $puntodeencuentro4 ) )
            echo '<table class="shop_attributes"><tr>
                <th>Punto de encuentro</th>
                <td><p>'.$puntodeencuentro.'<br><a href="'.$url_google_maps.'" target="_blank" rel="noopener" rel="noreferrer"><strong>Abrir en Google Maps.</strong></a></p>
                </td></tr><tr></table>';
                
        the_content();
}
?>

Respecto a este anterior código, si lo vas a usar ya lo adaptas a tu manera ya que yo tengo ahí más variables metidas y se muestra en una tabla, justo debajo de los atributos.
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba