add_filter('woocommerce_product_tabs', 'custom_product_tabs'); función custom_product_tabs($tabs) { $tabs['custom_tab'] = array( 'título' => __('Información adicional', 'woocommerce'), 'prioridad' => 50, 'callback' => 'custom_product_tab_content' ); devuelve $tabs; } función contenido_de_pestaña_producto_personalizado() { echo '<h2>información adicional</h2>'; eco'<p>Aquí puede encontrar más información sobre este producto.</p>'; }
Categoría: WordPress
Complementos(37)
Eliminar el campo del código de cupón del carrito de compras
add_action('init', 'eliminar_campo_cupón_del_carrito'); función remove_coupon_field_from_cart() { remove_action('woocommerce_before_cart', 'woocommerce_coupon_form', 10); }
Cambiar los costos de envío según el número de artículos
add_filter('tarifas_de_paquete_woocommerce', 'ajustar_el_envío_según_la_cantidad_de_artículos', 10, 2); función ajustar_envío_según_número_de_artículos($rates, $paquete) { $número_de_artículos = WC()->carrito->obtener_número_de_contenido_del_carrito(); si ($item_count > 5) { foreach ($rates como $rate_id => $rate) { $rates[$rate_id]->costo += 2.00; // Costos de envío adicionales para 6 artículos o más } } return $rates; }
Descuento en productos de la categoría “Ofertas”
add_filter('woocommerce_producto_obtener_precio', 'descuento_venta_categoría_productos', 10, 2); función descuento_venta_categoría_productos($precio, $producto) { $venta_categoría = 'venta'; // Nombre de la categoría de venta si (has_term($sale_category, 'product_cat', $product->get_id())) { $price = $price * 0.8; // 20% Descuento para productos en la categoría de rebajas } return $price; }
Mensaje personalizado para productos agotados
add_filter('obtener_disponibilidad_woocommerce', 'mensaje_personalizado_de_agotado_de_stock', 1, 2); función custom_out_of_stock_message($availability, $product) { if (!$product->is_in_stock()) { $availability['availability'] = __('Desafortunadamente, no hay stock disponible. Comuníquese con nosotros para obtener más información.', 'woocommerce'); } devolver 1TP8Disponibilidad; }
Agregar un campo de texto personalizado al formulario de pago
add_action('formulario_de_facturacion_posterior_al_pago_de_woocommerce', 'campo_formulario_de_pago_personalizado'); función campo_formulario_de_pago_personalizado($checkout) { echo '<div id="”custom_checkout_field”"><h2>' . __('Información adicional') . '</h2>'; woocommerce_form_field('custom_field', array( 'type' => 'text', 'class' => array('form-row-wide'), 'label' => __('Campo personalizado'), 'placeholder' => __('Ingrese su información aquí.'), 'required' => false, ), $checkout->get_value('custom_field')); eco'</div>'; }
Agregue una tarifa de envío adicional según el país
add_filter('woocommerce_cart_calcular_tarifas', 'agregar_tarifa_de_envio_adicional'); función agregar_tarifa_de_envío_adicional() { $país_de_envío = WC()->cliente->obtener_país_de_envío(); si ($shipping_country == 'US') { WC()->cart->add_fee('Tarifa de envío adicional', 10.00); } }
Agregar campo personalizado para productos
add_action('opciones_de_producto_woocommerce_datos_generales_del_producto', 'agregar_campo_de_producto_personalizado'); función add_custom_product_field() { woocommerce_wp_text_input(array( 'id' => 'custom_field', 'label' => __('Campo personalizado', 'woocommerce'), 'placeholder' => __('Ingrese la información aquí.'), 'desc_tip' => 'true', )); } add_action('woocommerce_process_product_meta', 'guardar_campo_de_producto_personalizado'); función guardar_campo_producto_personalizado($post_id) { $campo_personalizado = $_POST['campo_personalizado']; si (!vacío($campo_personalizado)) { actualizar_post_meta($post_id, 'campo_personalizado', esc_attr($campo_personalizado)); } }
Ocultar las opciones de envío según el contenido del carrito de compras
add_filter(‘woocommerce_package_rates’, ‘hide_shipping_based_on_cart_content’, 10, 2); function hide_shipping_based_on_cart_content($rates, $package) { $cart_contains_digital_products = false; foreach ($package[‘contents’] as $item) { $product = $item[‘data’]; if ($product->is_downloadable()) { $cart_contains_digital_products = true; break; } } if ($cart_contains_digital_products) { foreach ($rates as $rate_id => $rate) { if (‘flat_rate’ === $rate->method_id) { unset($rates[$rate_id]); // Flat Rate Versand entfernen } } } return $rates; } […]
Agregue una tarifa adicional según la cantidad de productos
add_action('woocommerce_cart_calcular_tarifas', 'agregar_tarifa_según_la_cantidad_de_productos'); función agregar_tarifa_basada_en_el_recuento_de_productos() { $recuento_de_productos = WC()->carrito->obtener_recuento_de_contenidos_del_carrito(); si ($product_count >= 5) { WC()->cart->add_fee('Tarifa adicional', 5.00); } }