Programmatisches Hinzufügen von Produkten in WooCommerce

Lesezeit: 3 Minuten
<?php
/**
* Template name: Create Product
* @package storefront
*/

 $post_id = wp_insert_post( array(
'post_title' => 'Adams Product',
'post_content' => 'Here is content of the post, so this is our great new products description',
'post_status' => 'publish',
'post_type' => "product",
) );
wp_set_object_terms( $post_id, 'simple', 'product_type' );
update_post_meta( $post_id, '_visibility', 'visible' );
update_post_meta( $post_id, '_stock_status', 'instock');
update_post_meta( $post_id, 'total_sales', '0' );
update_post_meta( $post_id, '_downloadable', 'no' );
update_post_meta( $post_id, '_virtual', 'yes' );
update_post_meta( $post_id, '_regular_price', '' );
update_post_meta( $post_id, '_sale_price', '' );
update_post_meta( $post_id, '_purchase_note', '' );
update_post_meta( $post_id, '_featured', 'no' );
update_post_meta( $post_id, '_weight', '' );
update_post_meta( $post_id, '_length', '' );
update_post_meta( $post_id, '_width', '' );
update_post_meta( $post_id, '_height', '' );
update_post_meta( $post_id, '_sku', '' );
update_post_meta( $post_id, '_product_attributes', array() );
update_post_meta( $post_id, '_sale_price_dates_from', '' );
update_post_meta( $post_id, '_sale_price_dates_to', '' );
update_post_meta( $post_id, '_price', '' );
update_post_meta( $post_id, '_sold_individually', '' );
update_post_meta( $post_id, '_manage_stock', 'no' );
update_post_meta( $post_id, '_backorders', 'no' );
update_post_meta( $post_id, '_stock', '' );
?>

Ich bin in der Lage, Produkte vom Front-End in Woo-Commerce zu erstellen, aber ich muss, wenn Benutzer ihr eigenes Produkt erstellen, dann den Preis gemäß ihren Eingabedaten ändern und in der Datenbank mit den jeweiligen Preisen sowie allen Eingabedaten in das Produkt speichern. Angenommen, der Benutzer hat einen Hund, der ca. zwischen 15-20kg (Eingabe durch Benutzer) und seiner Größe (Dropdown) liegt Übergewicht vor, dann wird gemäß der Benutzereingabe der Preis berechnet. Wenn das Produkt erfolgreich eingefügt wurde, fügen Sie dieses Produkt automatisch seinem Warenkorb hinzu und leiten Sie ihn zur Warenkorbseite weiter.

Ich füge meinen Code zum Einfügen eines Produkts aus einer Vorlage im Front-End an. Wie kann ich das erreichen? Danke im Voraus.

  • Können Sie die Formel zur Berechnung des Preises angeben?

    – Andreas Schultz

    14. November 2017 um 9:48 Uhr

// Get informations by form
$weight = $_REQUEST['weight']; // your input
$size = $_REQUEST['size']; // your dropdown
//
// Calcul your price here with $weight and $size
// ...

Passen Sie Ihre Metas mit Ihrem Kalkül an

$metas = array(
  '_visibility' => 'visible',
  '_stock_status' => 'instock',
  'total_sales' => '0',
  '_downloadable' => 'no',
  '_virtual' => 'yes',
  '_regular_price' => '',
  '_sale_price' => '',
  '_purchase_note' => '',
  '_featured' => 'no',
  '_weight' => '',
  '_length' => '',
  '_width' => '',
  '_height' => '',
  '_sku' => '',
  '_product_attributes' => array(),
  '_sale_price_dates_from' => '',
  '_sale_price_dates_to' => '',
  '_price' => '',
  '_sold_individually' => '',
  '_manage_stock' => 'no',
  '_backorders' => 'no',
  '_stock' => ''
);
foreach ($metas as $key => $value) {
  update_post_meta($post_id, $key, $value);
}

// Add product to cart 
WC()->cart->add_to_cart( $post_id );

// redirect
wp_redirect(get_permalink($post_id));
exit();

1334450cookie-checkProgrammatisches Hinzufügen von Produkten in WooCommerce

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

Privacy policy