Saiba como adicionar Custom Fields nos dados gerais do produto (woocommerce)

No cadastro de produtos do woocommerce tem uma tabela com vários dados sobre o produto, nesse artigo vou ensinar como colocar campos novos na aba “Geral”, que é a primeira aba que aparece aberta.

sem-campo

Eu precisava de campos para colocar preço de atacado nos produtos, então adicionei a seguinte função no meu arquivo functions.php:

add_action(‘woocommerce_product_options_general_product_data’,’woo_add_custom_general_fields’ );

function woo_add_custom_general_fields() {
global $woocommerce, $post;
echo ‘<div class=”options_group”>’;

echo ‘<h2>Atacado</h2>’;
woocommerce_wp_text_input(array(

‘id’                => ‘_regular_price_wholesale’,

‘class’             => ‘short wc_input_price’,

‘label’             => __( ‘Preço (R$)’, ‘woocommerce’ ),

‘placeholder’       => ”,

‘type’              => ‘text’,

)

);

woocommerce_wp_text_input(array(

‘id’                => ‘_sale_price_wholesale’,

‘class’             => ‘short wc_input_price’,

‘label’             => __( ‘Preço promocional (R$)’, ‘woocommerce’ ),

‘placeholder’       => ”,

‘type’              => ‘text’,

)

);

echo ‘</div>’;

}
Você pode personalizar os nomes dos campos , classes, placeholder, tipo de input e etc…
Após adicionar os campos que você deseja precisará salvar eles também, e pra isso utilizamos essa outra função, também no arquivo funtions.php:

add_action( ‘woocommerce_process_product_meta’, ‘woo_add_custom_general_fields_save’ );

function woo_add_custom_general_fields_save( $post_id ){

$woocommerce_text_field = $_POST[‘_regular_price_wholesale’];

$_woocommerce_text_field = $_POST[‘_sale_price_wholesale’];

if( !empty( $woocommerce_text_field ) ){

update_post_meta( $post_id, ‘_regular_price_wholesale’, esc_attr( $woocommerce_text_field ) );

}

if( !empty( $_woocommerce_text_field ) ){

update_post_meta( $post_id, ‘_sale_price_wholesale’, esc_attr( $_woocommerce_text_field ) );

}

}

com-campo

E esse foi o resultado! Espero ter ajudado, e até a próxima.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *