質問: (int) $variable_post_id[$i]; if ( isset( $_weightdesc[$i] ) ) { update_post_meta( $variation_id, '_weightdesc', stripslashes( $_weightdesc[$i] ) ); } endfor; endif; } フィールドは私のバックエンドに表示されていますが、値を保存しようとしたとき、それは機能していません。私もそれを修正しようとしましたが、まだうまくいきません。私はこれの1つから来た複数の情報源からこのコードを見つけました: http://www.remicorson.com/woocommerce-custom-fields-for-variations/#comment-14159 これはwoocommerceの更新によるものだと思います(私は2.3.5を使用しています)。誰かが私を助けてもらえますか?
回答: function variation_settings_fields( $loop, $variation_data, $variation ) { // text field woocommerce_wp_text_input( array( 'id' => '_text_field[' . $variation->id . ']', 'label' => __( 'my text field', 'woocommerce' ), 'placeholder' => '', 'desc_tip' => 'true', 'description' => __( 'enter the custom value here.', 'woocommerce' ), 'value' => get_post_meta( $variation->id, '_text_field', true ) ) ); } add_action( 'woocommerce_product_after_variable_attributes', 'variation_settings_fields', 10, 3 ); function save_variation_settings_fields( $post_id ) { // text field $text_field = $_post['_text_field'][ $post_id ]; if ( ! empty( $text_field ) ) { update_post_meta( $post_id, '_text_field', esc_attr( $text_field ) ); } }