Support

Account

Forum Replies Created

  • If it helps anyone, I put together this function for ACF 4 to get the correct field key for a given post and field name to match:

    
      /** 
       * Get field key for field name. ACF 4
       * Will return first matched acf field key for a given field name to match.
       * 
       * This function will return the field_key of a certain field.
       * 
       * @param $post_id int The post id to check.
       * @param $field_match String The field name to match in the query in SQL format e.g. '%versions%'
       * @return 
       */
      private function acf_get_field_key( $post_id, $field_match ) {
    
        global $wpdb;
    
        $posts = $wpdb->get_results( $wpdb->prepare( "SELECT ID FROM $wpdb->posts where post_type=%s", 'acf' ) );
        $rows = $wpdb->get_results( $wpdb->prepare("SELECT meta_key,meta_value FROM $wpdb->postmeta WHERE post_id = %d AND meta_key LIKE %s AND meta_value LIKE %s", $posts[0]->ID, 'field_%', $field_match), ARRAY_A);
        $field_data = unserialize( $rows[0]["meta_value"] );//not sure why it is in there twice...
    
        return $field_data['key'];
    
      }
    
  • I am also able to populate a repeater field, but only by hard coding the field key. Is there a way around this so that I can run this on any WordPress install without updating the field key by hand in code for each one?

    Thank you,
    Jasper

  • Hello @elliot

    Thank you for the excellent products!

    I have been looking at as many resources as I can find online, trying directly calling update_field() as well as using acf/load_value, but I cannot seem to set a repeater field on a newly created page (all in code). Do you have any code snippets wherein a page is created and then an acf repeater field is successfully populated and then read back?

    Thank you
    Jasper

Viewing 3 posts - 1 through 3 (of 3 total)