/* Adding custom fields to existing panels awhitepixel.com/blog/woocommerce-product-data-custom-fields-tabs/ */ add_action('woocommerce_product_options_inventory_product_data', function() { wp_enqueue_script( 'jquery-ui-datepicker' ); woocommerce_wp_text_input([ 'id' => 'date_of_availability', 'label' => __('Available from', 'txtdomain'), 'class' => 'date-picker', 'wrapper_class' => 'show_if_outofstock', ]); }); add_action('woocommerce_process_product_meta', function($post_id) { $product = wc_get_product($post_id); $date_of_availability = isset($_POST['date_of_availability']) ? $_POST['date_of_availability'] : ''; $product->update_meta_data('date_of_availability', sanitize_text_field($date_of_availability)); $product->save(); }); /* Add to Out-of-stock availability text, an availability date in Woocommerce single products https://stackoverflow.com/questions/55208262/add-to-out-of-stock-availability-text-an-availability-date-in-woocommerce-singl */ add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2); function filter_product_availability_text( $availability, $product ) { $date_of_availability = $product->get_meta('date_of_availability'); if ( ! $product->is_in_stock() && ! empty($date_of_availability) ) { $availability .= ' <span style="color:#e2401c;"><strong>(' . __('Available from:', 'flatsome') . ' </strong>' . $date_of_availability . ')</span>'; } return $availability; }
Woocommerce: Adding custom fields to existing panels (with date-picker) + Add to Out-of-stock availability text
4 года назад