Comment ajouter un produit dans woocommerce avec le code php
-
-
Ajouter desproduits via PHP demanderabeaucoup detravail caril y abeaucoup de choses différentes àinsérer/mettre àjour.Peut-être que [cette réponse] (http://stackoverflow.com/a/12658584/1815847)et lesplugins associés vous aideront àfaire letravailplusfacilement :)Adding products via PHP will be quite a lot of work as there a lot of different things to insert/update. Maybe [this answer](http://stackoverflow.com/a/12658584/1815847) and the related plugins will help you to get the job done more easily :)
- 1
- 2014-03-10
- Sven
-
En 2017,utilisez l'API REST comme suggéré dans https://stackoverflow.com/a/40133117/5749914.In 2017, use the REST API as suggested in https://stackoverflow.com/a/40133117/5749914.
- 2
- 2017-06-17
- Warlike Chimpanzee
-
1 réponses
- votes
-
- 2014-03-11
C'est assez simple,vous aveztravaillé sur les données ajoutées dans lamétapost. Leproblème queje rencontreest d'ajouter desproduitstéléchargeables à laboutique.
ci-dessousest le code quej'utiliseil répertorietoutes lesmétapost qui sont utiliséespar woo commerce. Celapublie unproduitmais le lien detéléchargementne serapasjoint.
À l'origine,quandj'ai commencé,j'aifait uneerreur avec letableau qui stocke le lien detéléchargementproduisant unmauvais lien "b" suivi d'un deuxièmefichier detéléchargement qui était correct. Après avoir corrigé letableaupour qu'il corresponde à celui d'unproduit ajoutémanuellement,aucun solitairen'affichera unfichier. Si quelqu'un a desinformations à ce sujet,ce seraitgrandement apprécié
$post = array( 'post_author' => $user_id, 'post_content' => '', 'post_status' => "publish", 'post_title' => $product->part_num, 'post_parent' => '', 'post_type' => "product", ); //Create post $post_id = wp_insert_post( $post, $wp_error ); if($post_id){ $attach_id = get_post_meta($product->parent_id, "_thumbnail_id", true); add_post_meta($post_id, '_thumbnail_id', $attach_id); } wp_set_object_terms( $post_id, 'Races', 'product_cat' ); 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', 'yes'); update_post_meta( $post_id, '_virtual', 'yes'); update_post_meta( $post_id, '_regular_price', "1" ); update_post_meta( $post_id, '_sale_price', "1" ); 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', "1" ); 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', "" ); // file paths will be stored in an array keyed off md5(file path) $downdloadArray =array('name'=>"Test", 'file' => $uploadDIR['baseurl']."/video/".$video); $file_path =md5($uploadDIR['baseurl']."/video/".$video); $_file_paths[ $file_path ] = $downdloadArray; // grant permission to any newly added files on any existing orders for this product // do_action( 'woocommerce_process_product_file_download_paths', $post_id, 0, $downdloadArray ); update_post_meta( $post_id, '_downloadable_files', $_file_paths); update_post_meta( $post_id, '_download_limit', ''); update_post_meta( $post_id, '_download_expiry', ''); update_post_meta( $post_id, '_download_type', ''); update_post_meta( $post_id, '_product_image_gallery', '');
espérons que celaest conforme à lanorme de qualité :)
Its pretty easy one you have worked out the data added in the post meta. Trouble I am having is adding downloadable products to the store.
below is the code i am using it lists all the post meta that is used by woo commerce. This publishes a product however the download link will not attach.
Originally when i started i made an error with the array that stores the download link producing a bad link "b" followed by a second download file that was correct. After fixing the array to match that of a product manually added it no loner will show a file. If anyone has info on this it would be greatly appreciated
$post = array( 'post_author' => $user_id, 'post_content' => '', 'post_status' => "publish", 'post_title' => $product->part_num, 'post_parent' => '', 'post_type' => "product", ); //Create post $post_id = wp_insert_post( $post, $wp_error ); if($post_id){ $attach_id = get_post_meta($product->parent_id, "_thumbnail_id", true); add_post_meta($post_id, '_thumbnail_id', $attach_id); } wp_set_object_terms( $post_id, 'Races', 'product_cat' ); 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', 'yes'); update_post_meta( $post_id, '_virtual', 'yes'); update_post_meta( $post_id, '_regular_price', "1" ); update_post_meta( $post_id, '_sale_price', "1" ); 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', "1" ); 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', "" ); // file paths will be stored in an array keyed off md5(file path) $downdloadArray =array('name'=>"Test", 'file' => $uploadDIR['baseurl']."/video/".$video); $file_path =md5($uploadDIR['baseurl']."/video/".$video); $_file_paths[ $file_path ] = $downdloadArray; // grant permission to any newly added files on any existing orders for this product // do_action( 'woocommerce_process_product_file_download_paths', $post_id, 0, $downdloadArray ); update_post_meta( $post_id, '_downloadable_files', $_file_paths); update_post_meta( $post_id, '_download_limit', ''); update_post_meta( $post_id, '_download_expiry', ''); update_post_meta( $post_id, '_download_type', ''); update_post_meta( $post_id, '_product_image_gallery', '');
hope this conforms to the quality standard :)
-
Modifier après des semaines de recherche,il s'avère quej'ai unespace après le "_downloadable_files" donciln'apas été reconnupar woo commerce.J'ai également lu que lesfichierspeuvent être stockés dans le dossier destéléchargements de woo commerce.Edit after weeks of searching it turns out that i have a space after the "_downloadable_files" so it wasnt recognized by woo commerce. Also i have read that the files my be stored under the woo commerce uploads folder.
- 0
- 2014-03-11
- user3361421
-
Avectous ces update_post_meta,je n'aipastrouvé demoyen de définir labrève description duproduit ajouté ... Commentpuis-je définir labrève description d'unproduit avec du codephp?With all those update_post_meta I didn't find a way to set the short description of the product added...How can I set the short description of a product with php code?
- 0
- 2014-09-25
- prelite
-
J'aitravaillé sur quelque chose de similaire,maisj'ai constaté qu'après avoir utilisé wp_insert_post,lemessageest crééet les données saisies,mais lemessagen'apparaîtpas dans lapage de laboutique wooet la catégorien'apparaîtpas dans labarre latérale.Très étrange car lemessageet toutes ses donnéesexistent dans le dos.I've been working on something similar to this, but found that after using wp_insert_post the post is created and data entered, but the post doesn't appear in the woo shop page, and the category doesn't appear in the sidebar. Very strange as the post and all of it's data exists in the backed.
- 2
- 2014-12-03
- EHerman
-
@preliten'estpas lepost_excerpt labrève description?@prelite isn't the post_excerpt the short-description?
- 0
- 2017-03-03
- Daniel
-
Fonctionneexactement commeprévuWorks exactly as expected
- 0
- 2018-12-10
- Alaksandar Jesus Gene
-
Vouspouvezmaintenant utiliser 'meta_input'pour définirtoutes lesméta dans laméthode `wp_insert_post ()`.Now you can use 'meta_input' to set all the meta within the `wp_insert_post()` method.
- 1
- 2018-12-21
- Bjorn
-
Comment définir l'imageprincipaleet lagalerie duproduit?How to set product main image and gallery?
- 0
- 2020-02-14
- Muzaffar Mahmood
Je souhaite ajouter desproduits avec du code PHP comme ci-dessous:
mais ce codeest optimisépour WooCommercetel que letype depublication,leguideet lesmétadonnéeset ... Quelqu'unpeut-il aider?