Поддержка → Проблемы и решения → как из meta box вытащить текстовое значение поля???
как из meta box вытащить текстовое значение поля???
-
Здравствуйте,
есть вот такое поле метаданных:
<select name=»dir_cusotm_field» id=»property-from»>
<option value=»»>- выберите значение -</option>
<option value=»sobstvennik» selected=»selected»>Собственник</option>
<option value=»posrednik»>Посредник</option>
</select>надо вытянуть именно значение «Собственник» или «Посредник»
делаю так
echo get_post_meta($post->ID, $key, true);
выводятся «sobstvennik» или «posrednik», а как вывести кириллицу?????
помогите пожалуйста 🙁
-
выводятся «sobstvennik» или «posrednik»
Это именно то, что хранится в базе.
а как вывести кириллицу?
Сделать массив ярлыков, соответствующих значениям:
$labels = array( 'sobstvennik' => 'Собственник', 'posrednik' => 'Посредник', ); $value = get_post_meta( $post->ID, $key, true ); if ( isset( $labels[ $value ] ) ) { echo $labels[ $value ]; }
Чтобы не дублировать список в нескольких местах, можно этот же массив использовать и при выводе формы в админке, примерно так:
<select name="dir_custom_field" id="property-from"> <option value="">- выберите значение -</option> <?php $current_value = get_post_meta( $post->ID, 'dir_custom_field', true ); ?> <?php foreach ( $labels as $value => $label ) : ?> <option value="<?php echo esc_attr( $value ); ?>" <?php echo selected( $current_value, $value ); ?>><?php echo esc_html( $label ); ?></option> <?php endforeach; ?> </select>
спасибо, я думал еще над таким вариантом:
эти значения «sobstvennik» и «posrednik» генерирует сам WP, при заполнении полей формы. А надо теперь обратно их переводить в кириллицу… надо только узнать какой функцией WP транслитерирует кириллицу, чтобы обратную сделать…
в общем пока что сделал так
function cyrillic_name ($val) { $labels = array( 'sobstvennik' => 'Собственник', 'posrednik' => 'Посредник' ); if ( isset( $labels[ $val ] ) ) { return $labels[ $val ]; } else return $val; }
и там где надо ставлю
$cs_value_k = cyrillic_name($cs_value);
- Тема «как из meta box вытащить текстовое значение поля???» закрыта для новых ответов.