код содержится в вашем вопросе является неполным и должно быть что-то вроде этого:
// Enabling and Displaying Fields in backend
add_action('woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields');
function woo_add_custom_general_fields() {
global $woocommerce, $post;
echo '<div class="options_group">';
woocommerce_wp_text_input(array(// Text Field type
'id' => '_conditions',
'label' => __('Conditions', 'woocommerce'),
'placeholder' => 'i.e: brand-new; refurbished; defected...',
'desc_tip' => 'true',
'description' => __('Enter the conditions of the products here.', 'woocommerce')
));
woocommerce_wp_text_input(array(// Text Field type
'id' => '_brands', // ===> NOT '_bands'
'label' => __('Brands', 'woocommerce'),
'placeholder' => 'i.e: Lacoste; Hugo Boss...etc',
'desc_tip' => 'true',
'description' => __('Enter names of the Brands of the products if any.', 'woocommerce')
));
echo '</div>'; // Closing </div> tag HERE
}
// Save Fields values to database when submitted (Backend)
add_action('woocommerce_process_product_meta', 'woo_save_custom_general_fields');
function woo_save_custom_general_fields($post_id){
// Saving "Conditions" field key/value
$conditions_field = $_POST['_conditions'];
if(!empty($conditions_field))
update_post_meta($post_id, '_conditions', esc_attr($conditions_field));
// Saving "Brands" field key/value
$brands_field = $_POST['_brands'];
if(!empty($brands_field))
update_post_meta($post_id, '_brands', esc_attr($brands_field));
}
Теперь, чтобы отобразите эти значения метаданных на страницах вашего продукта, вы будете использовать функцию get_post_meta()
в подключенном fu nction. Здесь ниже вы увидите все крючки шаблонов в woocommerce_single_product_summary
крюка с их приоритетами (порядок отображения):
/**
* woocommerce_single_product_summary hook
*
* @hooked woocommerce_template_single_title - 5
* @hooked woocommerce_template_single_price - 10
* @hooked woocommerce_template_single_excerpt - 20
* @hooked woocommerce_template_single_add_to_cart - 30
* @hooked woocommerce_template_single_meta - 40
* @hooked woocommerce_template_single_sharing - 50
*/
«в запасе» или данные «SKU» отображаются woocommerce_template_single_meta
, которые имеют приоритет из 40. Теперь вам нужно сразу отобразить значения ваших таможенных полей. Тогда вы можете выбрать приоритет для этой цели.
Вот код, который будет выводить свои собственные значения полей на страницах продукта в разделе «Артикул»:
add_action('woocommerce_single_product_summary', 'woo_display_custom_general_fields_values', 45);
function woo_display_custom_general_fields_values() {
global $product;
echo '<p class="custom-conditions">Conditions: ' . get_post_meta($product->id, '_conditions', true) . '</p>';
echo '<p class="custom-brands">Brands: ' . get_post_meta($product->id, '_brands', true) . '</p>';
}
код идет в function.php файл вашей активной темы ребенка (активной темы или в любом файле плагина).
Этот код протестирован и работает.