在 WooCommerce 特色产品 Gutenberg Block 的描述中添加自定义字段

问题描述

我有自定义字段,即在卡片之前添加的输入字段。我想在特色产品 Gutenberg Block 上展示它。

/* create a new product field*/
add_action( 'woocommerce_product_options_advanced','personalization_product_options_adv' );
function personalization_product_options_adv() {
    echo '<div class="options_group">';

    woocommerce_wp_textarea_input( array( 
        'id' => 'product_personalization_note','value' => get_post_meta( get_the_ID(),'product_personalization_note',true ),'label' => 'Personalization Note','desc_tip' => true,'description' => 'Allow product personalization for select products',) );

    echo '</div>';
}

/* save & update the changes*/
add_action( "woocommerce_process_product_Meta","personalization_save_fields" );
function personalization_save_fields( $post_id ) {
    // grab the custom data from $_POST
    $product_personalization_note = isset( $_POST[ 'product_personalization_note' ] ) ? sanitize_text_field( $_POST[ 'product_personalization_note' ] ) : '';

    // grab the product
    $product = wc_get_product( $post_id );

    // save the custom data using WooCommerce built-in functions
    $product->update_Meta_data( 'product_personalization_note',$product_personalization_note );

    //save
    $product->save();
}

/* display the new field on single product pages */
function woocommerce_custom_fields_display() {
  global $post;
  $product = wc_get_product($post->ID);
    $custom_fields_woocommerce_title = $product->get_Meta('product_personalization_note');
  if ($custom_fields_woocommerce_title) {
      printf(
            '<div><label>%s</label><input type="text" id="woocommerce_product_custom_fields_title" name="woocommerce_product_custom_fields_title" value=""></div>',esc_html($custom_fields_woocommerce_title)
      );
  }
}
add_action('woocommerce_before_add_to_cart_button','woocommerce_custom_fields_display');

我在 plugins/woo-gutenberg-products-block/src/BlockTypes/FeaturedProduct.PHP 中找到了添加它的地方,但前端没有任何显示

$desc_str = sprintf(
            '<div class="wc-block-featured-product__description">%s</div>',apply_filters( 'woocommerce_short_description',$product_additional_note = get_post_meta( get_the_ID(),'product_additional_note ',true )));

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)