Jak dodać własne pole do produktu WooCommerce?
1 Odpowiedź
Hej!
Standardowe pola WooCommerce nie zawsze wystarczają – czasem potrzebujesz pola na kraj pochodzenia, numer seryjny albo dodatkowy opis techniczny.
Przez kod w functions.php
// Pole w edytorze produktu
add_action('woocommerce_product_options_general_product_data', 'dodaj_pole_admin');
function dodaj_pole_admin() {
woocommerce_wp_text_input([
'id' => '_kraj_pochodzenia',
'label' => 'Kraj pochodzenia',
]);
}
// Zapis pola
add_action('woocommerce_process_product_meta', 'zapisz_pole');
function zapisz_pole($id) {
if (isset($_POST['_kraj_pochodzenia'])) {
update_post_meta($id, '_kraj_pochodzenia',
sanitize_text_field($_POST['_kraj_pochodzenia']));
}
}
// Wyświetlanie na karcie produktu
add_action('woocommerce_single_product_summary', 'pokaz_pole', 25);
function pokaz_pole() {
global $product;
$v = get_post_meta($product->get_id(), '_kraj_pochodzenia', true);
if ($v) echo '
Kraj pochodzenia: ' . esc_html($v) . '
';
}
Bez kodu – przez ACF
Advanced Custom Fields + wtyczka ACF for WooCommerce pozwala tworzyć pola przez panel admina bez dotykania PHP. 😊