Woocommerce – benutzerdefinierte variable Produktoptionen

Lesezeit: 2 Minuten

Benutzer-Avatar
Benutzer2541153

Schlaue Leute Ich habe zumindest für mich etwas, was eine Herausforderung sein könnte.

Ich verwende Woocommerce für E-Commerce-Sites, muss aber die variablen Produktoptionen anpassen, um relevantere Variationsinformationen für meine Produkte einzuschließen. Standardmäßig bietet Ihnen Woocommerce die folgenden Optionen für variable Produkte, SKU, Lagermenge, regulärer Preis, Verkaufspreis, Gewicht, Abmessungen (L × B × H), Versandklasse. Können Sie mir zeigen, wie ich diese Optionen entfernen und meine eigenen hinzufügen würde? Ich brauche Optionen wie Construction, Max Load Single (kg), Max Load Dual (kg), Max Speed ​​(km/h) …. Ich brauche diese, damit jedes Größenattribut unterschiedliche Variablen haben kann.

Nachdem ich die benutzerdefinierten Felder zur Registerkarte hinzugefügt habe, benötige ich sie auch, um sie auf der Registerkarte „Zusätzliche Informationen“ im Frontend anzuzeigen.

Irgendwelche Ideen?

Das Bild des Panels muss angepasst werden

hier

Vielen Dank

Benutzer-Avatar
Danyo

Sie müssen sich einklinken in:

woocommerce_process_product_meta_variable

So etwas wie das wird den Trick machen:

add_action( 'woocommerce_process_product_meta_variable', 'new_custom_field_here', 10, 1 );

function new_custom_field_here( $loop, $variation_data ) { ?>

      <label>New Field</label>
      <input name="new_field_[<?php echo $loop; ?>]" value="<?php echo $variation_data['_new_field'][0]; ?>"/>
    
<?php }

Dadurch wird ein neues Feld erstellt. Anschließend müssen Sie diese Daten speichern:

add_action( 'woocommerce_process_product_meta_variable', 'save_new_custom_field', 10, 1 );

function save_new_custom_field( $post_id ) {
if (isset( $_POST['variable_sku'] ) ) :
    $variable_sku = $_POST['variable_sku'];
    $variable_post_id = $_POST['variable_post_id'];

    $new_field = $_POST['new_field'];
    
    for ( $i = 0; $i < sizeof( $variable_sku ); $i++ ) :
        $variation_id = (int) $variable_post_id[$i];
        if ( isset( $new_field [$i] ) ) {
            update_post_meta( $variation_id, '_new_field', stripslashes( $new_field [$i] ) );
            update_post_meta( $variation_id, '_parent_product', $post_id );

        }
        
    endfor;

endif;
}

Ich hoffe, das bringt dich auf den richtigen Weg!

  • Sie meinten ‘new_custom_field_here’, nicht ‘function new_custom_field_here’, aber es gibt mir immer noch kein Ergebnis in Admin

    – Fanky

    19. November 2020 um 20:04 Uhr

  • @Fanky diese Antwort ist jetzt 7 Jahre alt … die Haken haben sich höchstwahrscheinlich mit dem neuesten WooCommerce geändert

    – dano

    23. November 2020 um 9:09 Uhr

1180680cookie-checkWoocommerce – benutzerdefinierte variable Produktoptionen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy