亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將復選框添加到變體產品管理元 woocommerce

將復選框添加到變體產品管理元 woocommerce

PHP
蕭十郎 2023-08-11 16:46:44
恭敬地不得不再次問這個問題,因為它已關閉并鏈接到一個與我的問題幾乎沒有關系的問題,更多的是關于字段創建。如何將自定義字段(多個復選框)添加到產品管理中的 WooCommerce 變量產品作為復選框,僅在選中時添加元并僅保存為管理員?請理解添加字段已完成,但問題與我需要復選框僅在選中時添加元以及如何隱藏元而不是創建該部分已完成的字段有關。此顯示代碼在我的變體中運行良好add_action( 'woocommerce_product_after_variable_attributes', 'variation_settings_fields', 10, 3 );        function variation_settings_fields( $loop, $variation_data, $variation ) {        woocommerce_wp_text_input(          array(              'id'            => "bin_location{$loop}",              'name'          => "bin_location[{$loop}]",              'value'         => get_post_meta( $variation->ID, 'bin_location', true ),              'label'         => __( 'Bin Location', 'woocommerce' ),              'desc_tip'      => true,              'description'   => __( 'Some description.', 'woocommerce' ),              'wrapper_class' => 'form-row form-row-full',          )        );        woocommerce_wp_checkbox(          array(            'id'            => "licence_mcps{$loop}",            'name'          => "licence_mcps[{$loop}]",            'value'         => get_post_meta( $variation->ID, 'licence_mcps', true ),            'label'         => __( 'MCPS', 'woocommerce' ),            'desc_tip'    => true,            'description' => __( "MCPS Product", "woocommerce" )          )        );        woocommerce_wp_checkbox(          array(            'id'            => "licence_ppl{$loop}",            'name'          => "licence_ppl[{$loop}]",            'value'         => get_post_meta( $variation->ID, 'licence_ppl', true ),            'label'         => __( 'PPL', 'woocommerce' ),            'desc_tip'    => true,            'description' => __( "PPL Product", "woocommerce" )          )        );      }
查看完整描述

1 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

更正復選框 通過向復選框添加 if-else 已解決此問題


add_action( 'woocommerce_save_product_variation', 'save_variation_settings_fields', 10, 2 );

function save_variation_settings_fields( $variation_id, $loop ) {

    $bin_loc = $_POST['bin_location'][ $loop ];

    $mcps_prod = $_POST['licence_mcps'][ $loop ];

    $ppl_prod = $_POST['licence_ppl'][ $loop ];

   

    if( isset( $bin_loc ) ) 

        update_post_meta( $variation_id, 'bin_location', esc_attr( $bin_loc )); 


    If( isset($mcps_prod)){

      update_post_meta( $variation_id, 'licence_mcps', esc_attr( $mcps_prod )); 

      }else{

        update_post_meta( $variation_id, 'licence_mcps', false );

      }

    If( isset($ppl_prod)){

      update_post_meta( $variation_id, 'licence_ppl', esc_attr( $ppl_prod )); 

      }else{

        update_post_meta( $variation_id, 'licence_ppl', false );

      }

     

}

通過在元鍵上添加下劃線解決了隱藏元數據的問題


add_action('woocommerce_checkout_create_order_line_item', 'save_file_type_as_order_item_meta', 20, 4);

function save_file_type_as_order_item_meta($item, $cart_item_key, $values, $order) {

    if ( $licence_mcps = $values['data']->get_meta('licence_mcps') ) {

        $item->update_meta_data( '_licence_mcps', $licence_mcps ); 

    }

    if ( $bin_location = $values['data']->get_meta('bin_location') ) {

      $item->update_meta_data( '_bin_location', $bin_location ); 

    }

    if ( $licence_ppl = $values['data']->get_meta('licence_ppl') ) {

      $item->update_meta_data( '_licence_ppl', $licence_ppl ); 

    }

}


查看完整回答
反對 回復 2023-08-11
  • 1 回答
  • 0 關注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號