如何在woocommerce结帐时添加上传表单

时间:2012-08-25 11:35:46

标签: wordpress e-commerce woocommerce

我正在尝试将上传表单添加到我的woocommerce网站的结帐中...我在这里找到了一个很好的教程:http://wcdocs.woothemes.com/snippets/tutorial-customising-checkout-fields-using-hooks-and-filters/显示了如何自定义字段,但是在数组中有不是仅创建上传表单的选项(字段类型(文本,文本区域,密码,选择)。

我怎么能实现这个?

4 个答案:

答案 0 :(得分:0)

可悲的是,我无法回答有关woocommerce的观点。但是,由于您的问题与upload功能相关,我建议您valums / file-uploader。我已经在我的所有WP插件中使用它,包括前端和后端。

  

此插件使用XMLHttpRequest(AJAX)上传多个文件   在FF3.6 +,Safari4 +,Chrome的进度条和回归   基于隐藏iframe的上传在其他浏览器(即IE)中提供   无处不在的良好用户体验。

让它成功有点困难,但是一旦你完成了,你就会喜欢它。所以,如果你想尝试一下,需要帮助再问一下这里。并将其重定向给我,以便我可以通知您。

答案 1 :(得分:0)

我在我的每个产品中使用文件上传 - 重力形式允许这样 - 尽管文件大小有一个限制,默认大约是8mb - 虽然我被告知这可以增加。

我使用woo commerce - 并且有重力形式的扩展 - 这使得将这些表单添加到产品(或其他任何东西)非常容易。

唯一的缺点是没有上传栏或显示上传的文件......

答案 2 :(得分:0)

对于表单,请尝试使用这两个钩子:

1)add_action(' woocommerce_after_cart_table',' add_file_to_upcoming_order');

2)add_action(' woocommerce_checkout_after_customer_details',' add_file_to_upcoming_order');

要接收/获取文件,您应该使用以下钩子:

add_action('woocommerce_init', 'file_during_checkout');
add_action( 'woocommerce_order_status_pending', 'wc_checkout_order_processed'); 
add_action( 'woocommerce_order_status_on-hold', 'wc_checkout_order_processed');
add_action( 'woocommerce_order_status_processing', 'wc_checkout_order_processed');
add_action( 'woocommerce_order_status_completed', 'wc_checkout_order_processed');

重要:     add_action(' save_post',' pre_wc_checkout_order_processed');

说明 事实上,当您的挂钩取决于订单状态时,您可以丢失附件。假设你的订单没有完成,所以你也会松开PHP会话。使用" save_post"进行管理会更好。挂钩并且必须为您的上传附件添加一些标记。

您可以使用此功能wp_handle_upload来处理上传的文件。上传文件后,您可以轻松地从WooCommerce对象" WC_Order"中获取订单商品。 &安培;先前添加的$ order-> get_items()。我试图让它工作last year并且许多人也使用它,你可以通过使用这些钩子来开发一个改进的解决方案。

答案 3 :(得分:-1)

使用valiums uploader或woocommerce hooks需要有关php的完整知识。在这篇文章中回答了替代解决方案:Allow Upload on checkout in WooCommerce