Support

Account

Home Forums Add-ons Flexible Content Field Directly open layout if its single option? Reply To: Directly open layout if its single option?

  • Hello,

    I know the topic is kind of old, but I decided to dig in and found the following solution:

    
    add_action('acf/input/admin_footer', 'hwk_flexible_content_layout_no_popup');
    function hwk_flexible_content_layout_no_popup() {
        ?>
        <script type="text/javascript">
        jQuery(document).ready(function($){
            
            // ACF Flexible Content: Directly add layout if there's only one layout
            var flexible_content_open = acf.fields.flexible_content._open;
            acf.fields.flexible_content._open = function(e){
                
                var $popup = $(this.$el.children('.tmpl-popup').html());
                
                // Count layouts
                if($popup.find('a').length == 1){
                    acf.fields.flexible_content.add($popup.find('a').attr('data-layout'));
                    return false;
                }
                
                // More than one layout? Continue the JS execution
                return flexible_content_open.apply(this, arguments);
            }
        });
        </script>
        <?php
    }
    

    Hope it helps πŸ™‚