Support

Account

Home Forums ACF PRO Update_field works a bit strange with new_post Reply To: Update_field works a bit strange with new_post

  • Hi @hube2

    Thanks aganin!

    In the end, I made this sa a solution.
    (very rough code though…)

    
    function my_get_field_object_for_new_post($selector, $parent_selector = ''){
    
    	global $wpdb;
    	$where = '';
    	$parent_id = false;
    	$result_key = false;
    
    	if($parent_selector != ''){
    		$sql = "SELECT ID FROM $wpdb->posts WHERE post_excerpt = %s AND post_type = 'acf-field'";
    		$sql = $wpdb->prepare($sql, $parent_selector);
    		$result = $wpdb->get_row( $sql );
    
    		if((int)$result->ID > 0){
    			$parent_id = $result->ID;
    		}
    		else {
    			$sql = "SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type = 'acf-field-group'";// can be group name
    			$sql = $wpdb->prepare($sql, $parent_selector);
    			$result = $wpdb->get_row( $sql );
    			if((int)$result->ID > 0){
    				$parent_id = $result->ID;
    			}
    		}
    		if($parent_id){
    			$where = " AND <code>post_parent</code> = " . $parent_id;
    		}
    
    	}
    
    	if($selector!=''){
    		$sql = "SELECT post_name FROM $wpdb->posts WHERE post_excerpt = %s AND post_type = 'acf-field'".$where;
    		$sql = $wpdb->prepare($sql, $selector);
    		$result = $wpdb->get_row( $sql );
    		if( $result->post_name ){
    			$result_key = $result->post_name;
    		}
    	}
    
    	return $result_key;
    
    }