WooCommerce: crear productos programáticamente
No importa si este fragmento se adapta a sus necesidades o no, sigue siendo interesante ver cómo puede crear un nuevo producto de WooCommerce mediante programación/automáticamente cuando se activa un determinado par .
En este estudio de caso, veremos cómo generar un producto completamente nuevo, configurar su imagen destacada, precio, categoría, título y un archivo de descarga tan pronto como se cargue una imagen en la sección de Medios del backend de WordPress. Esto sería muy útil para los fotógrafos, por ejemplo: simplemente cargue una nueva imagen en la biblioteca de medios de WordPress y se creará automáticamente un nuevo producto.
Por supuesto, puede personalizar el código y usarlo con diferentes disparadores. Por ejemplo, es posible que deba crear un nuevo producto automáticamente cuando cada producto de teléfono siempre necesita un producto de carcasa a juego, solo que con un título diferente. O tal vez desee vincular la creación de productos una vez que se realiza un pedido.
De cualquier manera, ¡disfrútalo!

Fragmento de PHP: cree un producto automáticamente cuando se cargue una nueva imagen en la biblioteca de medios de WordPress
/** * @snippet AutoCreate Product @ WP Admin * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @compatible WooCommerce 5 * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_action( 'add_attachment' , 'bbloomer_create_product_automatically' , 9999 ); function bbloomer_create_product_automatically( $image_id ) { $product = new WC_Product_Simple(); $product ->set_name( 'Photo: ' . get_the_title( $image_id ) ); $product ->set_status( 'publish' ); $product ->set_catalog_visibility( 'visible' ); $product ->set_price( 19.99 ); $product ->set_regular_price( 19.99 ); $product ->set_sold_individually( true ); $product ->set_image_id( $image_id ); $product ->set_downloadable( true ); $product ->set_virtual( true ); $src_img = wp_get_attachment_image_src( $image_id , 'full' ); $file_url = reset( $src_img ); $file_md5 = md5( $file_url ); $download = new WC_Product_Download(); $download ->set_name( get_the_title( $image_id ) ); $download ->set_id( $file_md5 ); $download ->set_file( $file_url ); $downloads [ $file_md5 ] = $download ; $product ->set_downloads( $downloads ); $product ->save(); } |
capturas de pantalla
1. Carga de imágenes desde la biblioteca multimedia (Calm.jpg)

2. Creación automática de productos


Deja una respuesta