Woocommerce单一产品页面上的自定义输入字段

时间:2017-06-01 18:57:58

标签: wordpress woocommerce

我正在跳跃有人可以帮我弄清楚如何在我的单个woocommerce产品页面中添加自定义文本字段。

我只是想添加一个表单并找到这个插件,但它不可自定义。我更喜欢创建表单并将其放在我需要的地方。 https://wordpress.org/plugins/wc-fields-factory/

谢谢!

1 个答案:

答案 0 :(得分:0)

你可以尝试这个,这将100%工作,

// Display Fields (function.php)

function woo_add_custom_general_fields() {

  global $woocommerce, $post;

  echo '<div class="options_group">';

  // Custom fields will be created here...

  echo '</div>';

}
add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );

要创建文本字段类型,您需要使用该代码:

// Text Field
woocommerce_wp_text_input( 
    array( 
        'id'          => '_text_field', 
        'label'       => __( 'My Text Field', 'woocommerce' ), 
        'placeholder' => 'http://',
        'desc_tip'    => 'true',
        'description' => __( 'Enter the custom value here.', 'woocommerce' ) 
    )
);

要创建textarea,请使用以下代码:

// Textarea
woocommerce_wp_textarea_input( 
    array( 
        'id'          => '_textarea', 
        'label'       => __( 'My Textarea', 'woocommerce' ), 
        'placeholder' => '', 
        'description' => __( 'Enter the custom value here.', 'woocommerce' ) 
    )
);

保存字段值:

function woo_add_custom_general_fields_save( $post_id ){

    // Text Field
    $woocommerce_text_field = $_POST['_text_field'];
    if( !empty( $woocommerce_text_field ) )
        update_post_meta( $post_id, '_text_field', esc_attr( $woocommerce_text_field ) );


    // Textarea
    $woocommerce_textarea = $_POST['_textarea'];
    if( !empty( $woocommerce_textarea ) )
        update_post_meta( $post_id, '_textarea', esc_html( $woocommerce_textarea ) );   
}
// Save Fields
add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );

enter image description here

显示自定义字段值

<?php
// Display Custom Field Value
echo get_post_meta( $post->ID, 'my-field-slug', true );
// You can also use
echo get_post_meta( get_the_ID(), 'my-field-slug', true );
?>

了解更多信息,您可以访问: http://www.remicorson.com/mastering-woocommerce-products-custom-fields/