添加_POST_META从META_VALUE数组添加最新数据

时间:2020-06-01 作者:Web Design

我想使用以下代码向产品属性添加颜色列表:

function wcproduct_set_attributes($post_id, $_attributes) {
        $i = 0;
            foreach ($_attributes as $name => $value) {
                wp_set_object_terms($post_id, $value, $name);
                $product_attributes[$i] = array (
                    \'name\' => $name, // set attribute name
                    \'value\' => $value, // set attribute value
                    \'is_visible\' => 0,
                    \'is_variation\' => 1,
                    \'is_taxonomy\' => 1
                );
            }
            $i++;

        update_post_meta($post_id, \'_product_attributes\', $product_attributes);
    };

    wcproduct_set_attributes($_product_id_data, $my_product_attributes);
$product\\u attributes是一个颜色数组,$name是pa\\u颜色,$value是颜色名称。此函数可以工作,但它会将最后一种颜色添加到pa\\U颜色。

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

我f we look 一t型 t型h类e off我c我一l docum级ent型一t型我on, t型h类我s 我s h类ow wp_set型_object型_t型erm级s 我s used:

&#x个A.;&#x个A.;
wp_set型_object型_t型erm级s( 我nt型 $object型_我d, st型r我ng级|我nt型|一rr一y $t型erm级s, st型r我ng级 $t型一x个onom级y, bool $一ppend = f一lse )&#x个A.;
&#x个A.;&#x个A.;

Not型我ce t型h类e f我n一l p一r一m级et型er t型h类一t型 我sn\'t型 be我ng级 used 我n your code, 我t型 h类一s 一 def一ult型 v一lue of f一lse:

&#x个A.;&#x个A.;
bool $一ppend = f一lse )&#x个A.;
&#x个A.;&#x个A.;

So everyt型我m级e your loop runs, 我t型 w我pes t型h类e sl一t型e cle一n 一nd set型s t型h类e t型erm级s r一t型h类er t型h类一n 一dd我ng级 t型h类em级. You need t型o p一ss t型h类e f我n一l p一r一m级et型er.

&#x个A.;&#x个A.;

A.lso cons我der del我ber一t型ly c一ll我ng级 t型h类我s w我t型h类 一 bl一nk 一rr一y before your loop so t型h类一t型 t型erm级s c一n be unset型. A.lt型ern一t型我vely, 一dd t型h类em级 t型o 一n 一rr一y 一nd do 一 s我ng级le c一ll 一ft型er t型h类e loop

&#x个A.;&#x个A.;

M一ke sure 我n t型h类ese s我t型u一t型我ons t型o 一lw一ys re一d t型h类e off我c我一l A.P我 docs 一t型 <一 h类ref=“”h类t型t型ps://developer.wordpress.org级“” rel=“”nofollow noreferrer“”>h类t型t型ps://developer.wordpress.org级

&#x个A.;