WordPress WooCommerce Pergunta: Crie uma assinatura de produto variável e suas variações com PHP

Um usuário perguntou ?

Olá,

Eu quero criar WC_Product_Variable_Subscription e WC_Product_Subscription_Variation(s) anexado(s) via PHP

Criar WC_Product_Variable e WC_Product_Variation é simples (a classe que as classes que crio herdam), mas estou tendo problemas para corrigir a essência

intervalo, período e duração

propriedades (por exemplo, faça o preço da assinatura $ 200 cada mês de 6 mês.

O hotfix WC_Product_Subscription_Variation gerado não ajudou. Não é uma propriedade (via set_props) e parece estar armazenada em uma tabela diferente, como, por exemplo,

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

para exibir e revisar variações (via dicionário wordpress gerado) nenhuma alteração veio a mim (como mencionado)

Então minha pergunta: $product = new WC_Product_Variable_Subscription(); $variedade = new WC_Product_Subscription_Variation();

como/onde definir as propriedades necessárias via PHP para definir as propriedades originalmente nomeadas?

muito obrigado (!) por ser capaz de me apontar na direção certa

btw: deu uma olhada rápida – a principal diferença é um exemplo de WCS_Array_Property_Post_Meta_Black_Magic

e… alguém sabe onde estão os testes unitários de assinatura do woocommerce?

Este tópico foi modificado 10 meses atrás, uma semana atrás por. Este tópico foi modificado 10 meses atrás, uma semana atrás por.

(@conschneider)

Engenheiro Automóvel Felicidade

10 meses, 1 semana atrás

Olá,

btw: deu uma olhada rápida – a principal diferença é um exemplo de WCS_Array_Property_Post_Meta_Black_Magic

Não posso dizer nada sobre isso, pois é um repositório de terceiros, mas recomendo que você dê uma olhada no código original.

As assinaturas do WooCommerce também possuem extensa documentação do desenvolvedor:

Também encontrei isso:

E isto:

Boa codificação!

Com os melhores cumprimentos,

lançador de tópicos

(@matthias_123)

10 meses, 1 semana atrás

Olá,

Obrigado por seus comentários, parece haver um pequeno mal-entendido. Os links que você forneceu são sobre pedidos e assinaturas, mas eu estava falando sobre o tipo de produto, o nome do tipo de produto é um pouco confuso
WC_Product_Variable_Subscription

seu próprio legado de
WC_Product_Variable

e assim por diante… (o comentário do documento também menciona no topo do arquivo de classe: …Variable Subscription Product Class…)

Então, eu estava falando sobre criar o tipo de produto necessário que encaminhará os valores pós-meta necessários para uma assinatura.

Mas sem problemas – os links que você forneceu certamente serão úteis para aumentar meu conhecimento da implementação interna.

Obrigado novamente e boa sorte!

Quanto à resposta real: se o WC_Product_Variable_Subscription criou e criou/anexou as variações necessárias (dica: se você está procurando uma maneira de fazer isso, você pode olhar para createAllProductVariations método de Armazem de dados

por exemplo.

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

as variações do produto podem ser atualizadas por meio de meta-dados de postagem

por exemplo.

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);

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *