【问题标题】:Woocommerce 'Add to Cart' button missing after progmatically adding product以编程方式添加产品后,Woocommerce“添加到购物车”按钮丢失
【发布时间】:2016-04-30 06:57:28
【问题描述】:

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

从:

  1. 我点击“编辑”
  2. 我点击“更新”
  3. 然后我明白了:

如何以编程方式使“添加到购物车”按钮可见?

在“初始化”时触发:

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" );
}

【问题讨论】:

  • 乍一看,我认为您可能缺少_price 元密钥。仔细查看save_post 上发生的情况,并确保您使用的是所有相同的元数据。
  • 感谢提及,但这不是关于 Codeception 的问题,所以我删除了标签并解释了您提及它的原因。
  • Helgathevicking,成功了!

标签: wordpress woocommerce


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    相关资源
    最近更新 更多