Я пытаюсь добавить заказ Свойства товара программно под полем URL, как показано на рисунке: WooCommerce программно настраивает поля пользовательских атрибутов?
я был в состоянии сделать это, используя следующий код, используя transition_post_status
действие:
add_action('transition_post_status', 'wpa_120062_new_product', 10, 3);
function wpa_120062_new_product($new_status, $old_status, $post){
if(function_exists('wc_get_attribute_taxonomies') && ($attribute_taxonomies = wc_get_attribute_taxonomies())) {
$defaults = array();
foreach ($attribute_taxonomies as $key=>$tax) {
$name = wc_attribute_taxonomy_name($tax->attribute_name);
$value= get_post_meta($post->ID , '_product_attributes');
$defaults[ $name ] = array (
'name' => $name,
'position' => $key+1,
'is_visible' => 1,
'is_variation' => 1,
'is_taxonomy' => 1,
);
update_post_meta($post->ID , '_product_attributes', $defaults);
}
}
}
Но проблема в том, что крючок transition_post_status
не работает отлично, поскольку он иногда не полностью заполняет поля.
Я также пытался использовать wp
действие, но не успех.
Может кто-нибудь предложить, как я могу заставить этот код работать, но используя другой Крюк?