在逐步添加产品

时间:2016-01-23 19:15:08

标签: wordpress woocommerce

我有一个插件,可以通过编程方式成功地为Woocommerce添加自定义产品。问题是,当用户第一次导航到产品页面时,没有“添加到购物车”按钮可见。我可以通过编辑产品然后保存它来手动解决这个问题,而无需接触任何其他内容。我不知道为什么会这样,我想以编程方式解决它。

来自: enter image description here

  1. 点击“编辑”
  2. 点击“更新”
  3. 然后我明白了:
  4. enter image description here

    如何以编程方式显示“添加到购物车”按钮?

    在'init'上解雇:

    public function createRaffleProduct(){
        global $CRG_productName;
        global $CRG_regularPrice;
        $post = array(
            'post_author' => $user_id,
            'post_content' => '',
            'post_status' => "publish",
            'post_title' => $CRG_productName,
            'post_parent' => '',
            'post_type' => "product",
        );
        //Create post:
        $post_id = wp_insert_post( $post, $wp_error );
        update_post_meta( $post_id, '_visibility', 'visible' );
        update_post_meta( $post_id, '_stock_status', 'instock');
        update_post_meta( $post_id, 'total_sales', '0');
        update_post_meta( $post_id, '_downloadable', 'no');
        update_post_meta( $post_id, '_virtual', 'yes');
        update_post_meta( $post_id, '_regular_price', $CRG_regularPrice);
        update_post_meta( $post_id, '_sale_price', "1" );
    }
    

1 个答案:

答案 0 :(得分:2)

以编程方式创建产品时,您必须确保使用与save_post上生成的WooCommerce相同的元数据。

您的代码中缺少_price元键。如果没有_price,则产品不是purchasable,并且不会显示添加到购物车按钮。