Лучший способ отслеживать ежедневные отправки файлов для отчетов в SQL

Ответ Дэниелса работает, не будет решать, правильно или неправильно, однако, если вы хотите добавить значения как термин таксономии по атрибутам, вам необходимо адаптировать код, как показано ниже (set is_taxonomy = 1). В противном случае Woocommerce видит это как обычное мета-поле (?). Он по-прежнему добавляет значение по атрибутам. Это будет работать только для строк. Для значений, которые являются массивами, код должен быть адаптирован.

Кроме того, он использует wp_set_object_terms, который также предлагает @Anand. Я использовал это, потому что вся документация, которую я мог найти, привела к тому, что это нужно было использовать. Однако, если вы используете только wp_set_object_terms, я не мог видеть атрибуты на экране редактирования продукта. Использование информации из обоих ответов и чтение по этому вопросу привело к решению.

Вам нужно будет настроить код на такие вещи, как вариации продукта.

/*
 * Save Woocommerce custom attributes
 */

function save_wc_custom_attributes($post_id, $custom_attributes) {
    $i = 0;
    // Loop through the attributes array
    foreach ($custom_attributes as $name => $value) {
        // Relate post to a custom attribute, add term if it does not exist
        wp_set_object_terms($post_id, $value, $name, true);
        // Create product attributes array
        $product_attributes[$i] = array(
            'name' => $name, // set attribute name
            'value' => $value, // set attribute value
            'is_visible' => 1,
            'is_variation' => 0,
            'is_taxonomy' => 1
        );
        $i++;
    }
    // Now update the post with its new attributes
    update_post_meta($post_id, '_product_attributes', $product_attributes);
}

Затем вызовите функцию:

   $custom_attributes = array('pa_name_1' => $value_1, 'pa_name_2' => $value_2, 'pa_name_3' => $value_3);
   save_wc_custom_attributes($post_id, $custom_attributes);

Благодарим вас за отправку кода Daniel & amp; Ананд. Это очень помогло мне.

0
задан Erin Highbaugh 5 March 2019 в 11:37
поделиться