Кастомное поле в админке товара
-
Здравствуйте, есть функция добавления/сохранения/вывода кастомного бейджа товара. Тип лейбла выбирается в админке в карточке товара. Всё работает, сохраняется и выводится, но почему-то на фронте выводится упорно имя ключа массива вместо текста лейбла. Т.е. вместо ‘Новинка’, ‘Скидка’ и пр. выводится ‘stiker_new’, ‘stiker_sale’. Никак не получается вывести надпись лейбла, подскажите в чём ошибка?
// Enabling and Displaying Fields in backend add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' ); function woo_add_custom_general_fields() { echo '<div class="options_group">'; woocommerce_wp_select( array( // Text Field type 'id' => 'sticker_1', 'label' => __( 'Бейдж', 'woocommerce' ), 'description' => __( 'Бейдж товара.', 'woocommerce' ), 'desc_tip' => true, 'options' => array( '' => __( 'Выберите тип бейджа', 'woocommerce' ), 'stiker_new' => __('Новинка', 'woocommerce' ), 'stiker_sale' => __('Скидка', 'woocommerce' ), 'stiker_hit' => __('Хит продаж', 'woocommerce' ), 'stiker_super_price' => __('Лучшая цена', 'woocommerce' ), ) ) ); echo '</div>'; } // Save Fields values to database when submitted (Backend) add_action( 'woocommerce_process_product_meta', 'woo_save_custom_general_fields', 30, 1 ); function woo_save_custom_general_fields( $post_id ){ // Saving "Conditions" field key/value $posted_field_value = $_POST['sticker_1']; if( ! empty( $posted_field_value ) ) update_post_meta( $post_id, 'sticker_1', esc_attr( $posted_field_value ) ); } // Display In front end add_action( 'woocommerce_sale_flash', 'woo_display_custom_general_fields_values', 50 ); function woo_display_custom_general_fields_values() { global $product; // compatibility with WC +3 $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id; echo '<span class="sticker">' . get_post_meta( $product_id, 'sticker_1', true ) . '</span>'; }
Просмотр 2 ответов — с 1 по 2 (всего 2)
Просмотр 2 ответов — с 1 по 2 (всего 2)
- Тема «Кастомное поле в админке товара» закрыта для новых ответов.