Pregunta sobre WooCommerce de Wordpress:

Cree una suscripci贸n de producto variable y sus variaciones con PHP

Un usuario pregunt贸 馃憞

Hola,

Quiero crear WC_Product_Variable_Subscription y las WC_Product_Subscription_Variation (s) adjuntas a trav茅s de PHP

Crear WC_Product_Variable y WC_Product_Variation es simple (la clase de la que heredan las clases que creo) pero tengo problemas para arreglar lo esencial

intervalo, per铆odo y duraci贸n

propiedades (por ejemplo, haga que el precio de suscripci贸n sea de $ 200 cada una mes por 6 mes.

La revisi贸n WC_Product_Subscription_Variation generada no ayud贸. No es una propiedad (a trav茅s de set_props) y parece estar almacenada en una tabla diferente como, por ejemplo,

$products = wc_get_products(['limit' => -1]);
echo '<pre>' . print_r(
  wc_get_product($products[0]->get_children()[0])
, true) . '</pre>';

para mostrar y revisar variaciones (a trav茅s del diccionario de wordpress generado) ning煤n cambio se acerc贸 a m铆 (como se mencion贸)

Entonces mi pregunta: $ product = new WC_Product_Variable_Subscription (); $ variedad = nueva WC_Product_Subscription_Variation ();

驴c贸mo / d贸nde establecer las propiedades requeridas a trav茅s de PHP para definir las propiedades originalmente nombradas?

muchas gracias (!) por poder se帽alarme en la direcci贸n correcta

por cierto: tuvo un vistazo r谩pido https://github.com/wp-premium/woocommerce-subscriptions/blob/master/includes/class-wc-product-subscription-variation.php – la principal diferencia es un ejemplo de WCS_Array_Property_Post_Meta_Black_Magic

y … 驴alguien sabe d贸nde est谩n las pruebas de unidad de suscripci贸n de woocommerce?

Este tema fue modificado hace 10 meses, hace una semana por. Este tema fue modificado hace 10 meses, hace una semana por.

(@conschneider)

Ingeniero Autom谩tico de Felicidad

Hace 10 meses, 1 semana

Hola,

por cierto: tuvo un vistazo r谩pido https://github.com/wp-premium/woocommerce-subscriptions/blob/master/includes/class-wc-product-subscription-variation.php – la principal diferencia es un ejemplo de WCS_Array_Property_Post_Meta_Black_Magic

No puedo decir nada al respecto ya que se trata de un repositorio de terceros, pero te recomiendo que mires el c贸digo original.

Las suscripciones de WooCommerce tambi茅n tienen una extensa documentaci贸n para desarrolladores: https://docs.woocommerce.com/documentation/plugins/woocommerce/woocommerce-extensions/woocommerce-subscriptions/developer-docs/

Tambi茅n encontr茅 esto: https://gist.github.com/vishalbasnet23/181f640053d5400530a4411a93cf87f7

Y esto: https://wordpress.stackexchange.com/questions/202873/how-to-use-wc-create-order-with-subscription-product

隆Feliz codificaci贸n!

Tuyo sinceramente,

Lanzador de hilos

(@ matthias_123)

Hace 10 meses, 1 semana

Hola,

Gracias por sus comentarios, parece haber un ligero malentendido. Los enlaces que proporcion贸 son sobre pedidos y suscripciones, pero estaba hablando del tipo de producto, el nombre del tipo de producto es un poco confuso
WC_Product_Variable_Subscription
su propio legado de
WC_Product_Variable
y as铆 sucesivamente … (el comentario del documento tambi茅n menciona en la parte superior del archivo de clase: … Clase de producto de suscripci贸n variable …)

As铆 que estaba hablando de crear el tipo de producto necesario que reenviar谩 los valores post-meta requeridos a una suscripci贸n.

Pero no hay da帽o: los enlaces que proporcion贸 ciertamente ser谩n 煤tiles para aumentar mi conocimiento de la implementaci贸n interna.

隆Gracias de nuevo y buena suerte!

En cuanto a la respuesta real: si el WC_Product_Variable_Subscription cre贸 y cre贸 / adjunt贸 las variaciones requeridas (pista: si busca una forma de hacerlo, puede mirar createAllProductVariations m茅todo de Almac茅n de datos
p.ej.

$data_store = $product->get_data_store();    
$data_store->create_all_product_variations($product, $maxVariations);
$data_store->sort_all_product_variations($product->get_id());

las variaciones del producto se pueden actualizar a trav茅s de los datos de la meta publicaci贸n

p.ej.

update_post_meta($variation->get_id(), '_subscription_period', 'week');
update_post_meta($variation->get_id(), '_subscription_period_interval', 1);
update_post_meta($variation->get_id(), '_subscription_length', 4);

驴Solucion贸 tu problema??

0 / 0

Deja una respuesta 0

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *