Я показываю вам пример того, как мы можем зарегистрировать настраиваемое поле на странице отдельного продукта woocommerce.
// Добавление и отображение дополнительных настраиваемых полей для определения цены продукта
add_action( 'woocommerce_product_options_pricing', 'additional_product_pricing_option_fields', 50 );
function additional_product_pricing_option_fields() {
$domain = "woocommerce";
global $post;
echo '</div><div class="options_group pricing show_if_simple show_if_external show_if_composite">';
woocommerce_wp_text_input( array(
'id' => '_purchase_price',
'label' => __("Purchase price", $domain ) . ' ('. get_woocommerce_currency_symbol() . ')',
'placeholder' => '',
'description' => __("Rate margin explanation goes here…", $domain ),
'desc_tip' => true,
) );
echo '<input type="hidden" name="_custom_price_nonce" value="' . wp_create_nonce() . '">';
}
И этокак мы можем сохранить это →
// Функция утилиты, которая сохраняет значения настраиваемых полей «Purchase_price»
function saving_rate_margin_and_purchase_price( $product ) {
// Security check
if ( isset($_POST['_custom_price_nonce']) && ! wp_verify_nonce($_POST['_custom_price_nonce']) ) {
return;
}
// Save "Rate margin" and "Purchase_price" custom fields values
if( isset(isset($_POST['_purchase_price']) ) {
$product->update_meta_data('_purchase_price', sanitize_text_field( (float) $_POST['_purchase_price'] ) );
}
}
Но как мы можем вывести это?
Аналогия: Предположим, мы хотим вывести заголовок поста Wordpress.мы сделаем это так:
<?php the_title(); ?>
Таким же образом, как мы можем вывести пользовательское поле, которое мы добавили выше