php自定义字段和页面,php – 在WooCommerce单个产品和购物车页面中输出自定义字段值...

我需要帮助才能在产品的前端添加自定义数据,如下所示:

x8L3f.png

这个图像是一个示例,如果PD#i只是添加,我希望它添加到产品的前端:

te1JM.png

刚刚在WooCommerce产品页面常规设置选项卡中添加了自定义字段,借助:How to add a Custom Fields in Woocommerce 3.1感谢@Ankur Bhadania.

谢谢

解决方法:

对于简单产品,您可以在添加到购物车之前的简单产品页面中使用产品’_pd_number’自定义字段,使用woocommerce_before_add_to_cart_button操作挂钩:

add_action( 'woocommerce_before_add_to_cart_button', 'add_cf_before_addtocart_in_single_products', 1, 0 );

function add_cf_before_addtocart_in_single_products()

{

global $product;

$pd_number = get_post_meta( $product->get_id(), '_pd_number', true );

if( !empty( $pd_number ) )

echo '

PD # '. $pd_number .'

';

}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中.

97868e0267f2d62d0a6c0a08c67f5a75.png

此代码在WooCommerce版本3上进行测试并且有效.

您还可以使用woocommerce_cart_item_name过滤器钩子在名称下方的购物车项目中输出您的产品自定义字段:

// Displaying the product custom field in the Cart items

add_filter( 'woocommerce_cart_item_name', 'add_cf_after_cart_item_name', 10, 3 );

function add_cf_after_cart_item_name( $name_html, $cart_item, $cart_item_key )

{

$product_id = $cart_item['product_id'];

if( $cart_item['variation_id'] > 0 )

$product_id = $cart_item['variation_id'];

$pd_number = get_post_meta( $product_id, '_pd_number', true );;

if( !empty( $pd_number ) )

$name_html .= 'PD # '.$pd_number .'';

return $name_html;

}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中.

此代码在WooCommerce版本3上进行测试并且有效.

b81ac54daa96bbc280ca744421b9428e.png

这里我使用的代码在评论中提供了仅用于测试的链接:

// Display Product settings Fields

add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );

function woo_add_custom_general_fields() {

woocommerce_wp_text_input( array(

'id' => '_pd_number',

'label' => __( 'PD Number', 'woocommerce' ),

'placeholder' => 'PD# XXXXXX',

'desc_tip' => 'true',

'description' => __( 'Enter the PD Number of Product', 'woocommerce' )

));

}

// Save Product settings Fields

add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );

function woo_add_custom_general_fields_save( $post_id ){

$pd_number = $_POST['_pd_number'];

if( !empty( $pd_number ) )

update_post_meta( $post_id, '_pd_number', esc_attr( $pd_number ) );

}

标签:custom-fields,php,wordpress,woocommerce,product

来源: https://codeday.me/bug/20190928/1825888.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值