在Woocommerce单一产品页面的简短描述下显示自定义字段

c

在woocommerce中,我使用一些代码在产品编辑页面中添加带有自定义字段的Metabox。

如何在单个产品页面的简短描述下显示此自定义字段的值?

这是我的代码:

add_action ('add_meta_boxes','add_info_meta_box');
function add_info_meta_box()
{
    add_meta_box('new_meta', 'info','info_meta_fields_output','product', 'side');
}


function info_meta_fields_output($post)
{
    $new_meta = get_post_meta($post->ID,'_new_meta',true);
    echo ('<label for="new_meta"> Custom Text </label>');
    echo ('<input type="text" id="new_meta" name="new_meta" value="'.esc_attr($new_meta).'"/>');
}

add_action('save_post','save_info_meta_box');
function save_info_meta_box($post_id)
{
    $new_meta=sanitize_text_field($_POST['new_meta']);
    update_post_meta ($post_id,'_new_meta',$new_meta);
}


// Displaying the value on single product pages
function meta_product($product_id) {

    $new_meta2 = get_post_meta(get_the_ID(),'_new_meta', true);
    echo ('<p id="value-on-single-product">' . $new_meta2 . '</p>');
}
add_action('woocommerce_single_product_summary', 'meta_product',30);

但是它不会显示自定义字段值。

LoicTheAztec

更新 (添加了第二个自定义字段,如注释中所述)

您应该尝试以下操作,这将在产品常规标签Metabox中设置您的自定义字段,并将在产品简短说明下显示此自定义字段值:

// Add the custom field
add_action( 'woocommerce_product_options_general_product_data', 'add_custom_field_to_general_product_metabox' );
function add_custom_field_to_general_product_metabox() {
    global $post;

    // Get the selected value
    $value = get_post_meta( $post->ID, '_new_meta', true );
    if( empty( $value ) ) $value = ''; // Default value

    woocommerce_wp_text_input( array(
        'id'       => 'new_meta',
        'label'    => __( 'Thông tin thêm', 'woocommerce' ),
        'placeholder'       => __( '', 'woocommerce' ),
        'description'       => __( '', 'woocommerce' ),
        'value'   => $value, // Displaying the selected value
    ) );


    // Get the selected value
    $value2 = get_post_meta( $post->ID, '_new_meta2', true );
    if( empty( $value2 ) ) $value2 = ''; // Default value

    woocommerce_wp_text_input( array(
        'id'       => 'new_meta2',
        'label'    => __( 'Thông tin thêm', 'woocommerce' ),
        'placeholder'       => __( '', 'woocommerce' ),
        'description'       => __( '', 'woocommerce' ),
        'value'   => $value2, // Displaying the selected value
    ) );
}

// Save the custom field
add_action( 'woocommerce_process_product_meta', 'save_custom_field_to_general_product_metabox' );
function save_custom_field_to_general_product_metabox( $post_id ){

    if( isset( $_POST['new_meta'] ) )
        update_post_meta( $post_id, '_new_meta', esc_attr( $_POST['new_meta'] ) );

    if( isset( $_POST['new_meta2'] ) )
        update_post_meta( $post_id, '_new_meta2', esc_attr( $_POST['new_meta2'] ) );
}


// Displaying the custom field value (on single product pages under short description)
add_action('woocommerce_single_product_summary', 'display_custom_meta_field_value', 25 );
function display_custom_meta_field_value() {
    global $product;

    $custom_field = get_post_meta( $product->get_id(),'_new_meta', true );
    if( ! empty( $custom_field ) )
        echo  '<p id="value-on-single-product">' . $custom_field . '</p>';

    $custom_field2 = get_post_meta( $product->get_id(),'_new_meta2', true );
    if( ! empty( $custom_field2 ) )
        echo '<p id="value-on-single-product">' . $custom_field2 . '</p>';
}

代码进入您的活动子主题(或活动主题)的function.php文件中。

经过测试和工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Woocommerce单一产品页面中显示自定义分类法

在WooCommerce单一产品标题下显示自定义字段

在WooCommerce单一产品页面上为特定产品添加自定义内容

在WooCommerce单一产品页面上显示ACF字段

在Woocommerce中的“单一产品简短描述”下添加文本

在 WooCommerce 单一产品简短描述中显示有货可用变体

未验证并保存在Woocommerce中的单一产品自定义日期字段

Woocommerce单一产品选项卡中的自定义字段

在 WooCommerce 单一产品自定义选项卡中显示交叉销售

在WooCommerce中简短描述之前显示自定义产品字段

在Woocommerce单一产品自定义标签上显示带有所见即所得字段的元框

在WooCommerce单一产品页面上显示运输类别

在Woocommerce单一产品页面上获取并显示税率

在Woocommerce单一产品页面中获取产品类别名称和描述

在Woocommerce中将自定义单一产品模板用于特定产品类别

在单个产品页面的SKU下显示自定义字段值

在简短描述产品WooCommerce中显示带有价格的自定义文本

Woocommerce单一产品页面中的“重命名描述”选项卡

在Woocommerce单一产品页面上隐藏可变产品的数量字段

在Woocommerce单一产品页面上显示dokan供应商名称

在 WooCommerce 单一产品页面上发布显示运输数据

在WooCommerce存档页面的产品标题下添加简短的描述

如何在woocommerce的自定义类别页面中显示产品描述

在WooCommerce存档页面的产品标题下添加自定义字段值

WooCommerce可变产品的产品页面问题上显示的自定义文本字段

在Woocommerce单个产品页面中显示高于产品价格的自定义字段

在Woocommerce单一产品中,在简短说明(末尾)之后添加div

在简短说明之前更改WooCommerce单一产品名称的位置

在WooCommerce单一产品页面上显示总价格,包括原始产品价格*最小数量