Добавить метаданные плагина при создании продукта woocommerce с помощью REST API

Глядя на документацию Woocommerce, можно увидеть очень мало сказал о добавлении кастомных метаданных. За исключением некоторого добавления ключевого значения, которое, похоже, не связано с плагинами.

У меня есть плагин под названием "гравитационные формы", который также имеет собственный обширный REST Api Однако я не могу понять, как автоматически присвоить продукту определенную форму гравитации при его создании. (их rest api, похоже, в первую очередь занимается управлением формами, а не назначением их продуктам)

Когда я вытаскиваю конкретный продукт с заданной формой силы тяжести, он имеет следующие настраиваемые метаданные:

"metadata": [...,{ {"id"=>24866, "key"=>"_gravity_form_data", "value"=> {"id"=>"6", "display_title"=>false, "display_description"=>false, "disable_woocommerce_price"=>"no", "price_before"=>"", "price_after"=>"", "disable_calculations"=>"no", "disable_label_subtotal"=>"no", "disable_label_options"=>"no", "disable_label_total"=>"no", "disable_anchor"=>"no", "label_subtotal"=>"Subtotal", "label_options"=>"Options", "label_total"=>"Total", "use_ajax"=>"no"}}]

однако, когда я пытаюсь автоматически назначить эти метаданные для продукта, например, как metadata: [{_gravity_form_data: { id: 6...}}], он не назначает продукту автоматически форму гравитации.

Вопрос 1) какие существуют способы автоматического присвоения продукту формы гравитации?

Вопрос 2) если это можно сделать после создания продукта, как мне взять идентификатор продукта и присвоить ему форму гравитации? Должен ли я использовать ловушку для создания постов - я бы предпочел в первую очередь придерживаться REST.


person Rambatino    schedule 20.09.2017    source источник


Ответы (1)


Установлен плагин пользовательских метаданных WC API, что означает, что я могу извлечь ранее измененный product с новой формой гравитации, но это будет работать для любого объекта метаданных. Затем я мог бы отредактировать свой запрос POST с помощью:

meta_data: [ { key: "_gravity_form_data", value: { id: "6", display_title: false, display_description: false, disable_woocommerce_price: "no", price_before: "", price_after: "", disable_calculations: "no", disable_label_subtotal: "no", disable_label_options: "no", disable_label_total: "no", disable_anchor: "no", label_subtotal: "Subtotal", label_options: "Options", label_total: "Total", use_ajax: "no" } } ]

И он автоматически присвоит ему идентификатор и автоматически назначит форму гравитации для продукта!

person Rambatino    schedule 01.10.2017