【问题标题】:Wordpress variable, user created, woocommerce productWordpress 变量,用户创建,woocommerce 产品
【发布时间】:2016-02-12 18:42:52
【问题描述】:

基本上我对使用 woocommerce 销售产品感兴趣。该产品是我在全新插件中实现的外部打印服务的打印订单。

我现在想要的是在订单之后,能够将该“订单”放入购买购物车,并像另一个 woocommerce 产品一样正常购买。

产品必须在运行中通过某种功能手动创建,我可以使用该功能在某个工作流程点创建产品。

你能帮我找到解决办法吗? 是否使用 woocommerce!

【问题讨论】:

  • 我在 woocommerce 中做了类似的事情。这是我的概念。将产品作为帖子,设置具有尺寸的通用产品作为定价的变化。立即购买时,将产品图像应用于通用产品(只需向访问者显示),使用会话管理访问者交互。希望这是有道理的:)
  • 首先,谢谢! OKkkkkkkkk,所以您基本上将每个订单的信息存储在一个帖子中。那是我的想法,但基本上我还需要在产品展示给人们之后存储产品,并且还需要确保付款,就像普通产品一样。价格可能不是固定的变化。 . .它可以向各种价格发送垃圾邮件。不可能把他们弄死。因此,当用户在我们的 WP 网站上选择各种选项时,我需要一种方法来创建产品。
  • 把你的产品想象成一个玻璃杯,把帖子想象成饮料,让访问者决定饮料,然后你把它放在玻璃杯里;)
  • 您可以自定义库存商品并将自定义购买的版本保存为订单商品元数据。见wc_add_order_item_meta()

标签: wordpress woocommerce


【解决方案1】:

我从您的要求/cmets 中了解到,您希望能够动态创建产品,这是个坏主意。但这是我的建议。

假设您有一个名为“Print Job”的简单产品,价格为 1 美元,id 为 10。我假设您的外部打印服务会发回包含订单和价格的响应打印,假设是 64 美元。

收到回复后,您只需调用 add_product_to_cart(10),这会自动将打印作业产品添加到您的购物车。

/************* functions.php ***************/
function add_product_to_cart($product_id) {
    if ( ! is_admin() ) {
        $found = false;
        //check if product already in cart
        if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
            foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
                $_product = $values['data'];
                if ( $_product->id == $product_id )
                    $found = true;
            }
            // if product not found, add it
            if ( ! $found )
                WC()->cart->add_to_cart( $product_id );
        } else {
            // if no products in cart, add it
            WC()->cart->add_to_cart( $product_id );
        }
    }
}

您还需要在您的functions.php中添加此功能,此功能将覆盖产品的价格,即“打印作业”,实际价格为64美元。

/******************* Functions.php ****************/
add_action( 'woocommerce_before_calculate_totals', 'override_printing_price' );

function override_printing_price( $cart_object ) {
    $custom_price = 64;
    foreach ( $cart_object->cart_contents as $key => $value ) {
        $value['data']->price = $custom_price;
    }
}

【讨论】:

  • 谢谢大家的回复!顺便说一句,为什么动态创建产品是个坏主意?因为如果我不创建动态产品,如何为订单收费?有没有别的办法。我是一名软件开发人员,但我赶时间快速找到解决方案。尽管如此,我总是喜欢做“正确的方式!”的事情。 . . . .告诉你....
  • 在编程中始终考虑从某种方法中获得的好处。假设您将在创建和订购产品后删除该产品。如果您删除产品的所有记录,那么首先创建它们有什么意义,您可以覆盖另一个产品的价格。另一方面,如果您确实打算保留这些产品,那么很快 woocommerce 中就会有大量您不再使用的产品,最终会减慢您的网站速度。因此,归根结底,您不会从这种方法中获得任何好处,而且效率也不高。
猜你喜欢
  • 1970-01-01
  • 2016-11-14
  • 1970-01-01
  • 1970-01-01
  • 2020-02-23
  • 2014-11-22
  • 1970-01-01
  • 2019-05-24
  • 2013-05-20
相关资源
最近更新 更多