Beste,

Ik ben bezig met een repeatable field voor wordpress te maken om zo met een knop een input te kunnen dupliceren.
Nu lukt dit al niet helemaal, maar ben wat aan het uittesten.

Ik heb de volgende code nu:



		foreach ($custom_meta_fields as $field) {
			// Get value of this field if it exists for this post
			$meta = get_post_meta($post->ID, $field['id'], true);
			
		echo '<td>';
				
			switch ($field['type']) {
				
				// Repeatable
				case 'repeatable':
					$field_titles = wp_list_pluck( $custom_meta_fields, 'label' );
					$field_titles = array_filter( $field_titles ); // remove empty values
					
					$i = 0; // Variable for repeater
					
					if ( $meta == '' || $meta == array() ) {
						$keys = wp_list_pluck( $custom_meta_fields, 'id' );
						$meta = array ( array_fill_keys( $keys, null ) );
					} // End if
					
					$meta = array_values( $meta );
					
					foreach( $meta as $row ) {
					
						foreach ( $custom_meta_fields as $field ) {
							extract( $field );
							
							switch ($field['type']) {
																
								// Text
								case 'text':
									echo '<input type="text" name="' . $field['id'] . '[' .$i. ']' . '" id="' . $field['id'] . '" value="' . $meta[$i] . '" size="30" />';
								break;
								
							} // End switch statement
							
						} // End foreach
						$i++;
					} // End foreach meta as row
				break;
					
			} // End switch statement
			
		echo '</td>';
		
		} // End foreach loop



Wat er nu gebeurt is, dat de value van het input field text "Array" is. Waar dit aan kan liggen, kan ik niet achterhalen.

Hopelijk kan iemand mij helpen.
Alvast bedankt.

Casper
meta[$i] kan je misschien vervangen door $row (ik zeg niet dat het hetzelfde is, maar normaal is er geen aparte teller in een foreach)

doe ook eens een var_dump($meta) en post die

Reageren