我在主题的functions.php中使用以下代码在woocommerce单个产品页面上添加了一些自定义选项:
I have added some custom options on woocommerce single product page using the code below on my theme's functions.php:
function options_on_single_product(){
?>
<input type="radio" name="option1" checked="checked" value="option1"> option 1 <br />
<input type="radio" name="option1" value="option2"> option 2
<?php
}
add_action("woocommerce_before_add_to_cart_button", "options_on_single_product");
现在我想在购物车页面上显示选定的选项值.请帮我做这件事.谢谢
Now i want to display the selected option value on cart page. Please help me to do this. Thanks
以下是在购物车对象中存储产品自定义字段并在购物车和结帐页面中显示的完整代码:
Here is the complete code to Store product custom field in cart object and display that in Cart and Checkout pages:
// Output the Custom field in Product pages
add_action("woocommerce_before_add_to_cart_button", "options_on_single_product", 1);
function options_on_single_product(){
?>
<label for="custom_field">
<input type="radio" name="custom_field" checked="checked" value="option1"> option 1 <br />
<input type="radio" name="custom_field" value="option2"> option 2
</label> <br />
<?php
}
// Stores the custom field value in Cart object
add_filter( 'woocommerce_add_cart_item_data', 'save_custom_product_field_data', 10, 2 );
function save_custom_product_field_data( $cart_item_data, $product_id ) {
if( isset( $_REQUEST['custom_field'] ) ) {
$cart_item_data[ 'custom_field' ] = esc_attr($_REQUEST['custom_field']);
// below statement make sure every add to cart action as unique line item
$cart_item_data['unique_key'] = md5( microtime().rand() );
}
return $cart_item_data;
}
// Outuput custom Item value in Cart and Checkout pages
add_filter( 'woocommerce_get_item_data', 'output_custom_product_field_data', 10, 2 );
function output_custom_product_field_data( $cart_data, $cart_item ) {
if( isset( $cart_item['custom_field'] ) ) {
$cart_data[] = array(
'key' => __('Custom Item', 'woocommerce'),
'value' => $cart_item['custom_field'],
'display' => $cart_item['custom_field'],
);
}
return $cart_data;
}
代码位于活动子主题(或主题)的 function.php 文件或任何插件文件中.
此代码已经过测试且有效.
This code is tested and works.
这篇关于将产品自定义字段值保存在购物车中并将其显示在购物车和结帐中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
不能使用 'Object 作为类名,因为它是保留的Cannot use #39;Object as class name as it is reserved Cake 2.2.x(不能使用 Object 作为类名,因为它是保留的 Cake 2.2.x)
OAuth 重定向后会话丢失Session is lost after an OAuth redirect(OAuth 重定向后会话丢失)
Cakephp 3.x 中的分页排序Pagination Sort in Cakephp 3.x(Cakephp 3.x 中的分页排序)
CakePHP 多个应用程序的共享核心CakePHP Shared core for multiple apps(CakePHP 多个应用程序的共享核心)
在 CakePHP 3 上登录 [ Auth->identify() ] 始终为 falLogin [ Auth-gt;identify() ] always false on CakePHP 3(在 CakePHP 3 上登录 [ Auth-identify() ] 始终为 false)
致命错误:允许的内存大小为 134217728 字节已用尽Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 87 bytes)(致命错误:允许的内存大小为 134217728 字节已用尽