Как изменить текстовое поле на textarea? - PullRequest
0 голосов
/ 12 июня 2019

У меня есть сайт WordPress с WooCommerce. На странице конкретного продукта есть специальное поле для сбора дополнительного текста от покупателя. Поле представляет собой текстовое поле, которое должно быть текстовой областью для ввода абзаца.

Я отредактировал файлы CSS и PHP, чтобы изменить атрибут text на textarea. Однако поле ввода не меняется на textarea.

.ubp_extra_field {
  width: 100%;
  overflow: hidden;
  margin-bottom: 15px;
}

.ubp_extra_field label {
  width: 100%;
  display: block;
}

.ubp_extra_field input[type="textarea"] {
  width: 94%;
}
do_action('wc_ubp_box_product_after_price',$product->get_id()); if(get_post_meta($product->get_id(),'ubp_enable_box_gift_message',true)=='yes'){ $label=get_post_meta($product->get_id(),'ubp_box_message_field_label',true); $label=!empty($label) ? $label
: esc_html__('Message', 'wc-ubp'); $html='
<div class="ubp_extra_field">'; $html.='
  <label for="ubp_box_message_field">'.esc_html($label).'</label>'; $html.='
  <span class="ubp_field"><input type="textarea" name="ubp_box_message_field" id="ubp_box_message_field" value=""></span>'; $html.='
</div>'; echo $html; }

Я ожидаю, что поле будет текстовой областью для ввода текста абзаца. Вместо этого поле остается однострочным текстовым полем.

Вот страница, где поле доступно чуть выше кнопки «Добавить в корзину»: https://www.sockaboo.com/product/sockaboo-6-pack-gift-pack/

Что мне здесь не хватает?

Ответы [ 2 ]

1 голос
/ 12 июня 2019

Ваша декларация textarea неверна, она должна выглядеть следующим образом: 'textarea'.

Пожалуйста, обратитесь к модифицированной версии вашего кода:

    do_action('wc_ubp_box_product_after_price',$product->get_id());
if(get_post_meta($product->get_id(),'ubp_enable_box_gift_message',true)=='yes'){
    $label=get_post_meta($product->get_id(),'ubp_box_message_field_label',true);
    $label=!empty($label) ? $label : esc_html__('Message', 'wc-ubp');
    $html='<div class="ubp_extra_field">';
    $html.='<label for="ubp_box_message_field">'.esc_html($label).'</label>';
    $html.='<span class="ubp_field"><textarea rows="4" cols="50" name="ubp_box_message_field" id="ubp_box_message_field">This is a textarea.</textarea></span>';
    $html.='</div>';
    echo $html;
}
0 голосов
/ 12 июня 2019

Вы можете использовать:

<textarea rows="4" cols="50">
Here you can write some text to display in the textarea as the default text
</textarea>

Подробнее: https://www.w3schools.com/tags/tag_textarea.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...