Поддержка WooCommerce как добавленное custom_field чтобы отправлялось в БД?

  • Здравствуйте, добавил поле текстовое
    woocommerce_wp_text_input( $args ); =появилось в админке где добавление нового товара но когда нажать опубликовать в таблицу вставятся поля которые были по умолчанию заголовок , описание и т.д. а мое поле нужно тоже в туже таблицу вставить как это сделать? спасибо.

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Модератор Yuri

    (@yube)

    добавил поле текстовое
    woocommerce_wp_text_input( $args );

    Как именно?

    function cfwc_create_custom_field() {
    	$args = array(
    		'id'            => 'custom_text_field_title',
    		'label'         => __( 'Custom Text Field Title', 'cfwc' ),
    		'class'					=> 'cfwc-custom-field',
    		'desc_tip'      => true,
    		'description'   => __( 'Enter2 the title of your custom text field.', 'ctwc' ),
    	);
    	woocommerce_wp_text_input( $args );
    }
    add_action( 'woocommerce_product_options_general_product_data', 'cfwc_create_custom_field' );
    
    /**
     * Save the custom field  Сохранить настраиваемое поле
     * @since 1.0.0
     */
    function cfwc_save_custom_field( $post_id ) {
    	$product = wc_get_product( $post_id );
    	$title = isset( $_POST['custom_text_field_title'] ) ? $_POST['custom_text_field_title'] : '';
    	$product->update_meta_data( 'custom_text_field_title', sanitize_text_field( $title ) );
    	$product->save();
    
      
    }
    add_action( 'woocommerce_process_product_meta', 'cfwc_save_custom_field' );
    
    Модератор Yuri

    (@yube)

    Не вижу в $args элемента ‘value’. Если поле и сохраняется (легко проверить в БД), то при редактировании значение не выведется.

    а чему должно ровняться ‘value’.?

    ‘value’ => «»?

    задача такая кроме стандартных полей заголовок, описание, и т .д. вставляю свое поле например ширина шины в итоге должно получится при сохранении в базе
    к примеру:
    заголовок =шины, описание =шины капитальные, ширина шины = 185

    правильно ли я начал делать?

    • Ответ изменён 5 лет, 6 месяцев назад пользователем nickki2.
    Модератор Yuri

    (@yube)

    а чему должно ровняться ‘value’.?

    Текущему значению. Хотя по идее функция должна сама его брать.

    Посмотрите, сохраняется ли значение в базе.

    Я когда-то делал нечто похожее, но у меня сохранение было «неправильное»: на хуке save_post банальным update_post_meta.

    вставляю свое поле например ширина шины

    Это больше похоже на атрибуты товара. Для них у WC уже есть встроенный механизм. Возможно, с ними будет даже лучше, чем с кастомным полем, которое еще надо на фронт-энде как-то выводить.

    дело в том что мне нужно добавлять товары в базу после они будут извлекатся все сразу потом фильтроваться т.е сразу вывести на фронт мне не нужно

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «как добавленное custom_field чтобы отправлялось в БД?» закрыта для новых ответов.