@shearlocktm

Как вернуть значение произвольного поля в карточке товара (WooCommerce, Wordpress)?

Добрый день!
Вопрос в следующем: как вывести значение произвольного поля на странице checkout (оплаты) в WooCommerce?
Произвольные поля добавлял так
/*************Создаем новые текстовые поля на странице редактирования товара в панели управления********/
add_action( 'woocommerce_product_options_general_product_data', 'wc_rooms_product_field' );
	function wc_rooms_product_field() {
	woocommerce_wp_text_input( array( 'id' => 'rooms', 'class' => 'wc_input_price short', 'label' => __( 'Комнат в квартире', 'woocommerce' ) . ' ' ) );
	}

/*************Реализовываем сохранение введеных данных********/
add_action( 'save_post', 'wc_rooms_save_product' );
	function wc_rooms_save_product( $product_id ) {
		// Если это автосохранение, то ничего не делаем, сохраняем данные только при нажатии на кнопку Обновить
		if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
		if ( isset( $_POST['rooms'] ) ) { if ( is_numeric( $_POST['rooms'] ) ) update_post_meta( $product_id, 'rooms', $_POST['rooms'] );
	} else delete_post_meta( $product_id, 'rooms' );
	}

/*************Показываем поле на самом сайте********/
add_action( 'woocommerce_single_product_summary', 'wc_rooms_show', 15 );
	function wc_rooms_show() { global $product;
		// Ничего не предпринимаем для вариативных товаров
		if ( $product->product_type <> 'variable' ) {$rooms = get_post_meta( $product->id, 'rooms', true );
			echo '<div style="width: 72%; height: 0; border-bottom: 1px dotted violet;">&nbsp;</div> <div class="woocommerce_msrp">';
			_e( 'Комнат в квартире: ', 'woocommerce' );
			echo '<span class="woocommerce-rooms-price">' . woocommerce_clean( $rooms ) . '</span>';
			echo '</div>';
		}
	}


В шаблоне form-cheackout.php инфу о товаре вывожу вот так:
echo $_product->get_image(array(400,200)); //Картинка
echo $_product->get_title(); //Заголовок
echo $_product->get_regular_price(); //Цена


Меня интересует как получить значение произвольного поля похожим образом через $_product->
Заранее спасибо.
  • Вопрос задан
  • 2738 просмотров
Решения вопроса 1
@shearlocktm Автор вопроса
Извините коллеги...
Я сегодня редкостный затупок...
Выводим также, я в названии переменной напутал.
Вот вывод если пригодится:
$rooms = get_post_meta( $_product->id, 'rooms', true);
echo $rooms;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Jounsy
Ребят, а подскажите, пожалуйста, как этот код "переписать", чтобы можно было вводить не только цифры, но и буквы?
Т.е. мне нужно по сути дополнительное ТЕКСТОВОЕ поле, а не поле только для цифр.
Я совершенно не силен в php, а через поисковик не могу найти пример именно текстового поля (везде одно и то же - поле для цифр).
Буду премного благодарен, если кто напишет такой код.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы