Мне нужна помощь. Это вопрос из двух частей.
1.) Как я могу отобразить метку настраиваемого поля в передней части моего сайта?
Я настроил некоторые пользовательские поля в моем файле functions.php, которые отображаются в
добавить страницу продукта, следуя инструкциям здесь:
http://www.remicorson.com/mastering-woocommerce-products-custom-fields/
Они работают! Но как я могу отображать метки?
Вот код, который я поместил в мой /wp-content/themes/shopifiq/woocommerce/single-product/tabs/description.php (не был уверен, как еще заставить его показать на вкладке)
<?php
// Display custom field value
echo get_post_meta( get_the_ID(), '_text_field', true );
echo get_post_meta( get_the_ID(), '_number_field', true );
echo get_post_meta( get_the_ID(), '_textarea', true );
?>
2.) После того, как я получу метки для показа, есть ли способ отформатировать их, чтобы они не были неорганизованной цепочкой слов? Можно ли добавить класс к элементам php? Как мне это сделать, вот так? (добавлено *)
// Text Field
woocommerce_wp_text_input(
array(
'id' => '_text_field',
***'class' => 'left',***
'label' => __( 'Manufacturer', 'woocommerce' ),
'placeholder' => 'Example: Herman Miller',
'desc_tip' => 'true',
'description' => __( 'Enter the manufacturer name here. Examples: Kimball, Allsteel, Herman Miller, etc.', 'woocommerce' )
)
);
РЕДАКТИРОВАТЬ 4/13
Привет еще раз, я понял, как выводить метки форм, но я не думаю, что это лучшее решение. Это работает, хотя. Но мне все еще нужно знать, как добавить классы, чтобы я мог отформатировать. Я хочу некоторую информацию в левом столбце, а некоторые в правом столбце. Спасибо!
<?php
// Display custom field value
echo '<strong>Manufacturer: </strong>';
echo get_post_meta( get_the_ID(), '_text_field_1', true );
echo '<br>';
echo '<strong>Brand: </strong>';
echo get_post_meta( get_the_ID(), '_text_field', true );
echo '<br>';
echo '<strong>Retail Price: </strong>';
echo get_post_meta( get_the_ID(), '_number_field_1', true );
echo '<br>';
echo '<strong>Arnolds Price: </strong>';
echo get_post_meta( get_the_ID(), '_number_field', true );
echo '<strong>Features: </strong>';
echo get_post_meta( get_the_ID(), '_textarea_1', true );
echo '<br>';
echo '<strong>Additional Information: </strong>';
echo get_post_meta( get_the_ID(), '_textarea', true );
?>
Я выяснил, как добавить класс, чтобы они выводились в столбцах. На всякий случай, если кто-то хочет знать. Я по-прежнему открыт для ввода, как сделать это лучше, но пока это работает.
<?php
// Display custom field value
echo '<div class="left">' . '<strong>Manufacturer: </strong>' . get_post_meta( get_the_ID(), '_text_field_1', true ) . '<br>' .
'<strong>Brand: </strong>' . get_post_meta( get_the_ID(), '_text_field', true ) . '<br>' .
'<strong>Retail Price: </strong>' . get_post_meta( get_the_ID(), '_number_field_1', true ) . '<br>' .
'<strong>Arnolds Price: </strong>' . get_post_meta( get_the_ID(), '_number_field', true ) . '</div>';
echo '<div class="right">' . '<strong>Features: </strong>' . get_post_meta( get_the_ID(), '_textarea_1', true ) . '<br>' .
'<strong>Additional Information: </strong>' . get_post_meta( get_the_ID(), '_textarea', true ) . '</div>';
?>
Я использую этот код (собираюсь опубликовать только содержимое ячейки):
<td><p class="css-class"><?php $field_name = "field_55e4335cfbc8c";
$field = get_field_object($field_name);
echo $field['label'] . $field['value'];?></p></td>
Это основано на этот плагин, все еще пытающийся выяснить, как ничего не отображать в случае, если пользователь не заполняет поля.
Надеюсь, поможет!