/** * Validação completa para produtos WooCommerce * Verifica preço, categoria, referência (SKU) e peso */ function validar_produto_woocommerce_completo($post_id) { // Verifica se é um produto if (get_post_type($post_id) !== ‘product’) { return; } // Verifica se está salvando o produto (não…Continue reading
/** Remove all possible fields **/ function mrj_remove_checkout_fields( $fields ) { // Billing fields unset( $fields[‘billing’][‘billing_state’] ); unset( $fields[‘billing’][‘billing_company’] ); // Shipping fields unset( $fields[‘shipping’][‘shipping_state’] ); unset( $fields[‘shipping’][‘shipping_company’] ); return $fields; } add_filter( ‘woocommerce_checkout_fields’, ‘mrj_remove_checkout_fields’ );Continue reading
add_filter(‘woocommerce_available_payment_gateways’, ‘limit_payment_gateway_based_on_cart_total’); function limit_payment_gateway_based_on_cart_total($available_gateways) { if (is_admin() || !is_checkout()) { return $available_gateways; } // Get total cart $cart_total = WC()->cart->get_total(‘edit’); // Total cart without formattation // Set limit $limit = 1000; // Limit in local currency // If the total…Continue reading
add_filter( ‘wc_order_statuses’, ‘ts_rename_order_status_msg’, 20, 1 ); function ts_rename_order_status_msg( $order_statuses ) { $order_statuses[‘wc-on-hold’] = _x( ‘In attesa di pagamento’, ‘Order status’, ‘woocommerce’ ); return $order_statuses; }Continue reading
add_filter( ‘get_terms’, ‘ts_get_subcategory_terms’, 10, 3 ); function ts_get_subcategory_terms( $terms, $taxonomies, $args ) { $new_terms = array(); // if it is a product category and on the shop page if ( in_array( ‘product_cat’, $taxonomies ) && ! is_admin() &&is_shop() ) {…Continue reading