Home Forums Backend Issues (wp-admin) Custom fields on woocommerce product variations Reply To: Custom fields on woocommerce product variations

  • @shaun Thanks for sharing your code. This helped a lot – but I am facing the issue with a repeater field. I believe this is not supported with your solution. Do you have a solution for repeater fields as well?

    I know that the value of repeater fields are stored like this pattern in the postmeta database:


    Now, when I save my repeater field I get this form in the $_POST[‘acf’] variable. I believe I can not make a connecttion to this structure (repeaterfieldname_0_fieldname), can I? My repeater field is named “product_options”, and the fields are named “component”, “text”, “price”.

    array(2) {
    	 ["field_5aa23edb20eb5"]=> array(2) {
    	  ["5aa24c5eafcd0"]=> array(3) {
    	  	 ["field_5aa23f0020eb6"]=> string(3) "abc"
    	  	 ["field_5aa23f0920eb7"]=> string(4) "abc2"
    	  	 ["field_5aa23f1420eb8"]=> string(2) "12"
    	  ["acfcloneindex"]=> array(3) {
    	  	["field_5aa23f0020eb6"]=> string(0) ""
    	  	["field_5aa23f0920eb7"]=> string(0) ""
    	  	["field_5aa23f1420eb8"]=> string(0) ""

    So basically field_5aa23f0020eb6 is “component” etc. Maybe @elliot has an idea?


    It does work like this, but maybe there is another, more convenient, solution?

    foreach ( $fields as $key => $val ) {
    	if (is_array($val)) {
    		foreach ($val as $k => $v) {
    			foreach ($v as $fKey => $fValue) {
    				if ($fKey !== 'acfcloneindex') {
    					$i = add_row($k, $fValue, $variation_id);		
    	} else {
    		update_field( $key, $val, $variation_id );