Dodawanie i usuwanie opcji produktu
Domyślnie podczas konfiguracji produktu mamy do wyboru checkboxy „wirtualny” i „Do pobrania”. Teoretycznie nie przeszkadzają ale mniej doświadczonemu użytkownikowi mogą nieco mieszać w głowie. Dlatego postaramy się je ukryć. Zrobimy to za pomocą filtra product_type_options.
add_filter('product_type_options', 'gc_woocommerce_option');
function gc_woocommerce_option($options) {
if( isset( $options[ 'virtual' ] ) ) {
unset( $options[ 'virtual' ] );
}
if( isset( $options[ 'downloadable' ] ) ) {
unset( $options[ 'downloadable' ] );
}
return $options;
}
Gdyby przyszła nam ochota na dodanie własnej opcji możemy wcześniejszą funkcję uzupełnić o poniższy kod:
$options['euro'] = array(
"id" => "_euro",
"wrapper_class" => array( 'show_if_simple', 'show_if_variable' ),
"label" => "Cena w EURO",
"description" => "Zaznacz jeśli cena będzie w euro",
"default" => "no",
);
W tym przypadku chodziło o dodanie dodatkowej informacji czy cena będzie podana w euro.
Musimy zapisać jeszcze nasz parametr w post_meta.
add_action("save_post_product",
function ($post_ID, $product, $update) {
update_post_meta($product->ID, "_euro", isset($_POST["_euro"]) ? "yes" : "no");
}, 10, 3);