1

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

我怎么能实现这个?

4

3 回答 3

0

遗憾的是,我无法回答关于 woocommerce 的观点。但由于您的问题与upload功能有关,我建议您使用valums / file-uploader。我在所有上一个 WP 插件中都使用了它,包括前端和后端。

该插件使用 XMLHttpRequest (AJAX) 在 FF3.6+、Safari4+、Chrome 中使用进度条上传多个文件,并在其他浏览器(即 IE)中回退到基于隐藏 iframe 的上传,从而在任何地方提供良好的用户体验。

让它工作有点困难,但是一旦你完成了你就会爱上它。所以如果你想尝试一下并需要帮助,请在 SO 中再次询问。并将其重定向给我,以便通知我为您提供帮助。

于 2012-08-25T12:16:36.853 回答
0

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

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

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

于 2013-05-02T18:29:33.130 回答
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() 获取订单商品。去年我试图让它工作,很多人也使用它,你可以通过使用这些钩子来开发一个改进的解决方案。

于 2015-06-20T12:57:37.193 回答