Я удалось заставить все работать, за исключением случаев, когда кто-то вводит данные в одно из настраиваемых полей или обновляет данные, полученные из базы данных, изменения не сохраняются.
Справочная информация :
- У меня есть код, который создает два настраиваемых поля для продукта в Woocommerce, которые называются «file_size» и «image_dimensions». В woocommerce все работает, поэтому при просмотре продукта отображаются настраиваемые поля и их значения, а при обновлении этих значений данные сохраняются и отображаются изменения даже при обновлении. Так что эта сторона хороша.
- Приведенный ниже код относится к странице из плагина multivendorx.... код работает путем добавления вкладка в раздел данных и отображение полей. Он также извлекает правильные данные из базы данных. Так что это все хорошо.
- Чего код не делает, так это когда пользователь вносит изменения в существующие данные или добавляет данные. в любое из этих двух настраиваемых полей, а затем нажимает кнопку «Обновить», данные не сохраняются в базе данных.
Код: Выделить всё
/**
* Add Custom Tab in add product page.
* @Version 3.3.0
*/
function add_custom_product_data_tabs( $tabs ) {
$tabs['image_details'] = array(
'label' => __( 'Image Details', 'your-text-domain' ),
'target' => 'custom_tab_product_data',
'class' => array(),
'priority' => 100,
);
return $tabs;
}
add_filter( 'mvx_product_data_tabs', 'add_custom_product_data_tabs' );
// Now, to add content inside the custom tab, use the following code.
function add_custom_product_data_content( $pro_class_obj, $product, $post ) {
// Retrieve the values from the database
$file_size = get_post_meta( $product->get_id(), 'file_size', true );
$image_dimensions = get_post_meta( $product->get_id(), 'image_dimensions', true );
?>
File Size (i.e. 2MB):
Подробнее здесь: [url]https://stackoverflow.com/questions/78728738/custom-field-data-entry-not-saved-to-woocommerce-database[/url]