O que estou tentando fazer é que toda vez que um produto é criado, seja no backend ou frontend, ou por qualquer outro método, o produto criado é automaticamente definido como tipo "externo" em vez do produto Simples padrão.
Eu vi esse código de resposta que permite alterar o tipo de produto de um produto existente. Sou novo em tudo e estou tentando ver como posso implementá-lo para adicionar ao meu arquivo functions.php. Pensei que poderia substituir o tipo "variável" por "externo" para fazer isso funcionar para mim.
Como eu poderia implementar esse código em uma função PHP que altera qualquer produto criado para um tipo de produto externo?
Talvez combinar esse código de resposta com o código abaixo:
function woo_set_type_function(){
$product_id = 18; //your product ID
wp_remove_object_terms( $product_id, 'simple', 'product_type' );
wp_set_object_terms( $product_id, 'external', 'product_type', true );
}
add_action('init', 'woo_set_type_function');
Não tenho experiência e não queria quebrar nada no arquivo de funções tentando combinar isso sozinho.
O nome da classe de um produto externo é
WC_Product_External
, então não precisamos usarWC_Product_Factory
para obter o nome da classe do produto para um produto externo.Você pode usar a seguinte função para alterar qualquer produto que não seja externo para um produto externo (de um ID de produto definido) :
Para vários IDs de produtos, use o seguinte:
O código vai para o arquivo functions.php do seu tema filho (ou em um plugin). Deve funcionar.
Adição
Você também pode definir primeiro o tipo de produto externo usando:
Nota: Este gancho de filtro está localizado na
wc_get_product_types()
função .Você obterá o seguinte (no seletor de tipo de produto):
Somente produtos externos
O seguinte restringirá o seletor de tipo de produto no administrador somente ao tipo de produto externo, de modo que somente produtos externos poderão ser criados:
O código vai para o arquivo functions.php do seu tema filho (ou em um plugin).
Nas páginas de produtos individuais do administrador, você obterá:
Portanto, todos os produtos criados/editados serão "externos".
Basta adicionar o novo plugin https://wpcode.com/ usando este plugin adicione seu código personalizado
evite adicionar código em functions.php, pois isso quebrará a funcionalidade principal. Use o Perfect hook para atualizar o tipo de produto no momento da criação.