• Hallo Leute,

    ich habe aktuell ein Formular mit einem benutzerdefinierten Beitragstyp. Dieser enthält einige metafelder, die ich via CF7 Function auf die jeweiligen Input-Felder mappe. Der Code sieht so aus:

    function save_posted_data( $posted_data ) {
    	
    	$form_id = $contact_form->id();
    	if( $form_id == 1903 ) {
    
    		$args = array(
    			'post_type' => 'np-food',
    			'post_status'=>'draft',
    			'post_title'=>$posted_data['food-name'],
    			'post_content'=>$posted_data['food-desc'],
    		);
    		$post_id = wp_insert_post($args);
    
    		if(!is_wp_error($post_id)){
    			if( isset($posted_data['food-name']) ){
    				update_post_meta($post_id, 'food-name', $posted_data['food-name']);
    			}
    			// and so on
    		}
    	}
    	return $posted_data;
    }
    add_filter( 'wpcf7_posted_data', 'save_posted_data' );

    Das Ganze funktioniert auch, nur leider offenbar nicht die ID-Prüfung. Bzw, doch, es wird nur ein CPT erstellt, wenn dieses Formular verwendet wird, nur alle anderen Formulare enden beim „Absenden“ in einer Endlosschleife.

    Hat jemand eine Idee?

    Beste Grüße
    Buddy

Das Thema „Formulardaten als CPT speichern, aber nur wenn Formular Id = x“ ist für neue Antworten geschlossen.