Support

Account

Forum Replies Created

  • Hi John,

    I did try to post a reply here but it isn’t showing, I did place links to screenshots in the message, is that why?

    Thanks
    Lee

  • https://g.page/madeybfuse/review?rc

    Hi John, I initially used the ‘Dynamically populate a select field’s choices’ you mentioned above, I have updated the code I had, changing all instances of ‘load_field’ to ‘prepare_field’.

    Unfortunately, that didn’t work.

    Here is my code:

      // the following pulls in content from an options page into a select field, see here:
      // https://www.advancedcustomfields.com/resources/dynamically-populate-a-select-fields-choices/
    
      function acf_prepare_product_field_choices( $field ) {
        
        // reset choices
        $sub_field['products'] = array();
    
        // if has rows
        if( have_rows('product', 'option') ) {
            
            // while has rows
            while( have_rows('product', 'option') ) {
                
                // instantiate row
                the_row();
                
                
                // vars
                $value = get_sub_field('application_rate');
    			$label = get_sub_field('title');
    			$ar = get_sub_field('application_rate');
    
                
                // append to choices
                $sub_field['products'][ $value ] = $label;
                
            }
            
        }
        // return the field
        return $field;
    }
    
    add_filter('acf/prepare_field/name=products', 'acf_prepare_product_field_choices');

    I thought that changing ‘load_field’ to ‘prepare_field’ might do it, no such joy. I’m guessing I’ve done something wrong along the way?

    Thanks
    Lee

  • Hi John, I initially used the ‘Dynamically populate a select field’s choices’ you mentioned above, I have updated the code I had, changing all instances of ‘load_field’ to ‘prepare_field’.

    Unfortunately, that didn’t work.

    Here is my code:

    function acf_prepare_product_field_choices( $field ) {
        
        // reset choices
        $sub_field['products'] = array();
    
        // if has rows
        if( have_rows('product', 'option') ) {
            
            // while has rows
            while( have_rows('product', 'option') ) {
                
                // instantiate row
                the_row();
                
                
                // vars
                $value = get_sub_field('application_rate');
    			$label = get_sub_field('title');
    			$ar = get_sub_field('application_rate');
    
                
                // append to choices
                $sub_field['products'][ $value ] = $label;
                
            }
            
        }
        // return the field
        return $field;
    }
    
    add_filter('acf/prepare_field/name=products', 'acf_prepare_product_field_choices');

    To give further insight into my setup. I have an ACF Options group (Products) setup with repeater fields, looks like this:

    https://www.dropbox.com/s/yxas4b6lj2vhtgw/Screenshot%202021-02-19%20at%2018.56.57.png?dl=0

    I then have a flexible field setup where the admin can build out products to show on a plan. So various Layouts within a Flexible Content field type. Within each layout is one group where it pulls in the products, like so:

    https://www.dropbox.com/s/ae0zm3p1pg1ve7m/Screenshot%202021-02-19%20at%2018.59.18.png?dl=0

    So each choice relates to the Product added via the ACF Options repeater. These seem to populate nicely initially. Then when adding new products they are not shown as choices in the Post edit screen.

    I thought that changing ‘load_field’ to ‘prepare_field’ might do it, no such joy. I’m guessing I’ve done something wrong along the way?

    Thanks
    Lee

  • Thanks John, I will look into the links provided and give it a shot, will report back.

  • I figured it out, this helped: https://www.advancedcustomfields.com/resources/querying-relationship-fields/

    in particular adding ‘$media->ID’ along when calling the custom fields.

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