gpt4 book ai didi

wordpress - 向 WooCommerce 产品变体添加高级自定义字段

转载 作者:行者123 更新时间:2023-12-05 08:33:39 27 4
gpt4 key购买 nike

我正在使用名为 Advanced Custom Fields (ACF) 的插件和 WooCommerce。我想为 WooCommerce 产品变体创建一个文本和图像字段。我在 ACF 中创建了字段并将它们分配给 "Post Type"> "product_variation"

enter image description here

但是因为我在 product > Variations 下看不到这些字段。我搜索了一下,看起来我必须编写自定义代码来容纳这些字段。我尝试搜索问题,我发现的大部分建议和教程都是关于通过代码创建自定义字段而不是使用 ACF,这对我没有帮助,因为这些字段必须使用 ACF,那是因为我正在使用 Visual Composer 来提取这些前端的 ACF 字段。

enter image description here

最佳答案

它不是 acf,但您只需在 /public_html/wp-content/themes/yourtheme-child/function.php 下的子主题的“function.php”中添加一些代码。

请查看本教程http://www.remicorson.com/mastering-woocommerce-products-custom-fields/

例如,在我的代码中,我为 RRP 添加了 2 个字段,另一个用于个人使用(每对价格):

        /* Adds RRP or PPP* price after each product price throughout the shop for user != Customer & Guest
.Not displayed in cart as it's not per var and we don't need to.
PPP = Price Per Pair (for product composite/bundle display)
================================================== */

// Display Fields
add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );

// Save Fields
add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );

function woo_add_custom_general_fields() {

global $woocommerce, $post;

// Text Field creation
woocommerce_wp_text_input(
array(
'id' => '_rrpprice',
'label' => __( 'RRP price ($)', 'woocommerce' ),
'placeholder' => 'e.g. 499',
'desc_tip' => 'true',
'description' => __( 'Enter the RRP .', 'woocommerce' )
)
);
woocommerce_wp_text_input(
array(
'id' => '_pppprice',
'label' => __( 'Price Per Pair*', 'woocommerce' ),
'placeholder' => 'e.g. 122',
'desc_tip' => 'true',
'description' => __( 'Enter the PPP (Price Per Pair) if Bundle/composite .', 'woocommerce' )
)
);
}
function woo_add_custom_general_fields_save( $post_id ){

// TextField save
$woocommerce_rrpprice = $_POST['_rrpprice'];
update_post_meta( $post_id, '_rrpprice', esc_html( $woocommerce_rrpprice ) );
if( !empty( $woocommerce_rrpprice ) )

// TextField save
$woocommerce_pppprice = $_POST['_pppprice'];
if( !empty( $woocommerce_pppprice ) )
update_post_meta( $post_id, '_pppprice', esc_html( $woocommerce_pppprice ) );
}

// Display Custom Field Value

if ( is_user_logged_in() && !(current_user_can('customer'))) {
function sv_change_product_price_display( $price ) {
$product = wc_get_product( get_the_ID() );
$priceRRP = get_post_meta( get_the_ID(), '_rrpprice', true );
$pricePPP = get_post_meta( get_the_ID(), '_pppprice', true );
if ( (is_shop() || is_product()) && !is_cart() ) { //double belt check
if($product->is_type( 'variable' )){
$price .= ' + GST<br /><span class="rrp-price">RRP: $' . $priceRRP .'</span>';
}else{

$price = ' <span class="rrp-price"><b>$' . $pricePPP .' + GST </b></span>' . '<br /><span class="rrp-price">RRP: $' . $priceRRP .'</span>';
}
}
return $price;
}
add_filter( 'woocommerce_get_price_html', 'sv_change_product_price_display' );
add_filter( 'woocommerce_cart_item_price', 'sv_change_product_price_display' );
}

如果您有任何问题,请随时提出。

关于wordpress - 向 WooCommerce 产品变体添加高级自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37264813/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com