@ -8,92 +8,71 @@
* Start: Добавление табов и полей в стандартной форме редактирования товара Woocommerce
* Start: Добавление табов и полей в стандартной форме редактирования товара Woocommerce
*/
*/
/* Создание в форме редактирования товара Woocommerce своей вкладки и поля "Состав" */
/* Вывод пользовательского поля */
// Создание пользовательской вкладки "Состав"
add_filter('woocommerce_product_data_tabs', function ($tabs) {
$tabs['composition_tab'] = array(
'label' => 'Состав',
'target' => 'composition_product_data',
// 'target' => 'shipping_product_data', // вывело поля от Доставк в вкладку "Состав"
'class' => array('composition'), // выводим у вкладки класс "composition_tab"
'priority' => 60,
);
return $tabs;
});
// Вывод пользовательского поля в пользовательской вкладке "Состав"
add_action('woocommerce_product_data_panels', function () {
add_action('woocommerce_product_data_panels', function () {
global $post;
global $post;
$composition = get_post_meta($post->ID, '_composition', true);
$composition = get_post_meta($post->ID, '_composition', true); // получить значения сохраненные в БД
echo '< div id = "composition_product_data" class = "panel woocommerce_options_panel" > ';
echo '< div id = "composition_product_data" class = "panel woocommerce_options_panel" > ';
woocommerce_wp_textarea_input([
woocommerce_wp_textarea_input([
'id' => '_composition',
'id' => '_composition',
'label' => 'Состав',
'label' => 'Состав',
'desc_tip' => true,
'desc_tip' => true,
'description' => 'Введите состав товара',
'description' => 'Введите состав товара',
'value' => $composition
'value' => $composition // вывести значения из БД в поле
]);
]);
echo '< / div > ';
echo '< / div > ';
});
});
/* Вывод пользовательских табов */
// add_action('woocommerce_product_data_panels', function () {
// global $post;
// $feeding = get_post_meta($post->ID, '_feeding_recommendations', true);
// echo '< div id = "feeding_product_data" class = "panel woocommerce_options_panel" > ';
// woocommerce_wp_textarea_input([
// 'id' => '_feeding_recommendations',
// 'label' => 'Рекомендации по кормлению',
// 'desc_tip' => true,
// 'description' => 'Введите рекомендации по кормлению',
// 'value' => $feeding
// ]);
// echo '< / div > ';
// });
// add_action('woocommerce_product_data_panels', function () {
/* Добавил пользовательское поле "Объем" во вкладку "Доставка" */
// global $post;
add_action('woocommerce_product_options_dimensions', function () {
// $important = get_post_meta($post->ID, '_important', true);
woocommerce_wp_text_input(
// echo '< div id = "important_product_data" class = "panel woocommerce_options_panel" > ';
array(
// woocommerce_wp_textarea_input([
'id' => '_volume',
// 'id' => '_important',
'label' => 'Объем (мл)',
// 'label' => 'Важно',
'desc_tip' => true,
// 'desc_tip' => true,
'description' => 'Выбранная единица измерения будет подставляться вместо КГ',
// 'description' => 'Введите важную информацию',
'value' => 'test' // вывести значения из БД в поле
// 'value' => $important
)
// ]);
// echo '< / div > ';
// });
// woocommerce_product_options_inventory_product_data ]
add_filter('woocommerce_product_data_tabs', function ($tabs) {
$tabs['composition_tab'] = array(
'label' => 'Состав',
'target' => 'composition_product_data',
'class' => array('composition_tab'),
'priority' => 60,
);
);
// shipping_product_data
// НА будуще если понадобится выпадающий список сделать для выбора единицы измерения
// shipping_options
// woocommerce_wp_select(
// shipping_tab
// array(
// 'id' => '_custom_measurement',
// 'label' => 'Единица измерения (для "Вес")',
// $tabs['feeding_tab'] = array(
// 'description' => 'Выбранная единица измерения будет подставляться вместо КГ',
// 'label' => 'Рекомендации по кормлению',
// // 'desc_tip' => true,
// 'target' => 'feeding_product_data',
// 'options' => array(
// 'class' => array('feeding_tab'),
// 'мм' => 'Выберите...',
// 'priority' => 61,
// 'simple' => 'Простой',
// );
// 'variable' => 'Вариативный',
// $tabs['important_tab'] = array(
// 'custom' => 'Пользовательский'
// 'label' => 'Важно',
// )
// 'target' => 'important_product_data',
// )
// 'class' => array('important_tab'),
// 'priority' => 62,
// );
// );
return $tabs;
});
});
/* сохраненение кастомных полей */
/* сохраненение кастомных полей */
add_action('woocommerce_process_product_meta', function ($post_id) {
add_action('woocommerce_process_product_meta', function ($post_id) {
if (isset($_POST['_composition'])) {
if (isset($_POST['_composition'])) {
update_post_meta($post_id, '_composition', sanitize_textarea_field($_POST['_composition']));
update_post_meta($post_id, '_composition', sanitize_textarea_field($_POST['_composition']));
}
}
// if (isset($_POST['_feeding_recommendations'])) {
if (isset($_POST['_volume'])) {
// update_post_meta($post_id, '_feeding_recommendations', sanitize_textarea_field($_POST['_feeding_recommendations']));
update_post_meta($post_id, '_composition', sanitize_textarea_field($_POST['_composition']));
// }
}
// if (isset($_POST['_important'])) {
// update_post_meta($post_id, '_important', sanitize_textarea_field($_POST['_important']));
// }
});
});
/**
/**