woocommerce wp_set_post_terms 仅适用于管理员

woocommerce wp_set_post_terms only works for admin

我正在使用 wp_insert_post 添加具有分类 "product_cat" 的 woocommerce 产品。这是我的代码。

首先我添加了一个新产品。

$post_id = wp_insert_post( array(
            'post_title' => 'My Title',
            'post_content' => 'This is custom template',
            'post_status' => 'publish',
            'post_type' => "product",
        ) );

在这里,我附加了条款post

wp_set_post_terms( $post_id, array(12,13), 'product_cat' );

但是在商店页面上,当我点击我添加产品的特定类别时,该产品没有显示在该类别中,但在后端(wp admin)我看到我的产品附有条款。

我只是忘了更新“_visibility”

update_post_meta( $post_id, '_visibility', 'visible' );

现在,一切正常。