Support

Account

Home Forums General Issues Advanced customs fields in functions.php

Solved

Advanced customs fields in functions.php

  • I’m trying to include a few custom fields I’ve created in my functions.php file so they’re native to the theme I’m working on. However they’re not showing up on the edit screens of the posts I’ve set them to.

    I’ve included the acf plugin in my theme by using this code in my functions.php: include_once(‘advanced-custom-fields/acf.php’);

    I also exported the fields to php and copy and pasted the code in the functions.php of my theme. Can anyone tell me what I’m doing wrong?

  • You have 2 variables here
    1) ACF installed in the theme
    2) Adding the field group

    If you install ACF as a plugin (normally) do your fields show up where you expect them to?

  • @john, if I installed the plugin normally my fields will shows up.

  • If you have ACF working when installed in the theme then more than likely you are trying to create your field group before ACF has loaded. In other words

    
    if( function_exists('acf_add_local_field_group') ):
    

    is false.

    Put the code that creates field groups into an init action

    
    add_action('init', 'my_function_to_add_field_groups');
    function my_function_to_add_field_groups() {
      // add field groups here
    }
    
  • @john thanks for your help this is what I did and it still didn’t not work

    include_once(‘/plugins/advanced-custom-fields/acf.php’);
    define( ‘ACF_LITE’, true );

    if( function_exists(‘register_field_group’) ):

    add_action(‘init’, ‘register_field_group’);
    function register_field_group() {

    register_field_group(array (
    ‘id’ => ‘acf_about-us’,
    ‘title’ => ‘About Us’,
    ‘fields’ => array (
    array (
    ‘key’ => ‘field_586e22820cdf9’,
    ‘label’ => ‘About Us’,
    ‘name’ => ‘about_us’,
    ‘type’ => ‘text’,
    ‘instructions’ => ‘Enter Title for about us here’,
    ‘required’ => 1,
    ‘default_value’ => ”,
    ‘placeholder’ => ‘Enter Title for about us here’,
    ‘prepend’ => ”,
    ‘append’ => ”,
    ‘formatting’ => ‘none’,
    ‘maxlength’ => ”,
    ),
    array (
    ‘key’ => ‘field_586e22f80cdfa’,
    ‘label’ => ‘Establised At’,
    ‘name’ => ‘establised_at’,
    ‘type’ => ‘text’,
    ‘required’ => 1,
    ‘default_value’ => ”,
    ‘placeholder’ => ‘When where you established’,
    ‘prepend’ => ”,
    ‘append’ => ”,
    ‘formatting’ => ‘none’,
    ‘maxlength’ => ”,
    ),
    ),
    ‘location’ => array (
    array (
    array (
    ‘param’ => ‘page’,
    ‘operator’ => ‘==’,
    ‘value’ => ’15’,
    ‘order_no’ => 0,
    ‘group_no’ => 0,
    ),
    ),
    ),
    ‘options’ => array (
    ‘position’ => ‘normal’,
    ‘layout’ => ‘default’,
    ‘hide_on_screen’ => array (
    ),
    ),
    ‘menu_order’ => 0,
    ));
    register_field_group(array (
    ‘id’ => ‘acf_food-menu’,
    ‘title’ => ‘Food Menu’,
    ‘fields’ => array (
    array (
    ‘key’ => ‘field_58808cfded5b3’,
    ‘label’ => ‘Price’,
    ‘name’ => ‘price’,
    ‘type’ => ‘text’,
    ‘required’ => 1,
    ‘default_value’ => ”,
    ‘placeholder’ => ”,
    ‘prepend’ => ”,
    ‘append’ => ”,
    ‘formatting’ => ‘html’,
    ‘maxlength’ => ”,
    ),
    array (
    ‘key’ => ‘field_5881f02f46739’,
    ‘label’ => ‘Currency’,
    ‘name’ => ‘currency’,
    ‘type’ => ‘select’,
    ‘required’ => 1,
    ‘choices’ => array (
    ‘$’ => ‘$’,
    ‘&euro’ => ‘€’,
    ),
    ‘default_value’ => ”,
    ‘allow_null’ => 0,
    ‘multiple’ => 0,
    ),
    array (
    ‘key’ => ‘field_5880aceb6427c’,
    ‘label’ => ‘Food Category’,
    ‘name’ => ‘food_category’,
    ‘type’ => ‘checkbox’,
    ‘required’ => 1,
    ‘choices’ => array (
    ‘breakfast’ => ‘Breakfast’,
    ‘lunch’ => ‘Lunch’,
    ‘dinner’ => ‘Dinner’,
    ‘party’ => ‘Party’,
    ‘drinks’ => ‘Drinks’,
    ),
    ‘default_value’ => ‘breakfast : Breakfast’,
    ‘layout’ => ‘vertical’,
    ),
    ),
    ‘location’ => array (
    array (
    array (
    ‘param’ => ‘post_type’,
    ‘operator’ => ‘==’,
    ‘value’ => ‘foodmenu’,
    ‘order_no’ => 0,
    ‘group_no’ => 0,
    ),
    ),
    ),
    ‘options’ => array (
    ‘position’ => ‘normal’,
    ‘layout’ => ‘no_box’,
    ‘hide_on_screen’ => array (
    ),
    ),
    ‘menu_order’ => 0,
    ));
    register_field_group(array (
    ‘id’ => ‘acf_footer-details’,
    ‘title’ => ‘Footer details’,
    ‘fields’ => array (
    array (
    ‘key’ => ‘field_5878f731da3ad’,
    ‘label’ => ‘footer image’,
    ‘name’ => ‘footer_image’,
    ‘type’ => ‘image’,
    ‘instructions’ => ‘Footer Image Goes Here’,
    ‘save_format’ => ‘object’,
    ‘preview_size’ => ‘medium’,
    ‘library’ => ‘all’,
    ),
    array (
    ‘key’ => ‘field_5878f756da3ae’,
    ‘label’ => ‘footer content’,
    ‘name’ => ‘footer_content’,
    ‘type’ => ‘text’,
    ‘instructions’ => ‘footer content goes here’,
    ‘default_value’ => ”,
    ‘placeholder’ => ”,
    ‘prepend’ => ”,
    ‘append’ => ”,
    ‘formatting’ => ‘none’,
    ‘maxlength’ => ”,
    ),
    array (
    ‘key’ => ‘field_58794f98697fa’,
    ‘label’ => ‘Social Icons’,
    ‘name’ => ”,
    ‘type’ => ‘tab’,
    ),
    array (
    ‘key’ => ‘field_58794d05697f8’,
    ‘label’ => ‘Facebook Username’,
    ‘name’ => ‘facebook_username’,
    ‘type’ => ‘text’,
    ‘instructions’ => ‘Enter Your Facebook Username Here’,
    ‘default_value’ => ”,
    ‘placeholder’ => ‘ajbeacon’,
    ‘prepend’ => ”,
    ‘append’ => ”,
    ‘formatting’ => ‘none’,
    ‘maxlength’ => ”,
    ),
    array (
    ‘key’ => ‘field_58794c93697f7’,
    ‘label’ => ‘Twitter Username’,
    ‘name’ => ‘twitter_username’,
    ‘type’ => ‘text’,
    ‘instructions’ => ‘Enter Twitter Username Here’,
    ‘default_value’ => ”,
    ‘placeholder’ => ‘ajbeacon’,
    ‘prepend’ => ‘@’,
    ‘append’ => ”,
    ‘formatting’ => ‘none’,
    ‘maxlength’ => ”,
    ),
    array (
    ‘key’ => ‘field_58794d65697f9’,
    ‘label’ => ‘Google Plus Username’,
    ‘name’ => ‘google_plus_username’,
    ‘type’ => ‘text’,
    ‘instructions’ => ‘Enter Your Google Plus Username Here’,
    ‘default_value’ => ”,
    ‘placeholder’ => ‘+ajbeacon’,
    ‘prepend’ => ”,
    ‘append’ => ”,
    ‘formatting’ => ‘none’,
    ‘maxlength’ => ”,
    ),
    ),
    ‘location’ => array (
    array (
    array (
    ‘param’ => ‘page’,
    ‘operator’ => ‘==’,
    ‘value’ => ’15’,
    ‘order_no’ => 0,
    ‘group_no’ => 0,
    ),
    ),
    ),
    ‘options’ => array (
    ‘position’ => ‘normal’,
    ‘layout’ => ‘default’,
    ‘hide_on_screen’ => array (
    ),
    ),
    ‘menu_order’ => 0,
    ));
    register_field_group(array (
    ‘id’ => ‘acf_opening-time’,
    ‘title’ => ‘Opening Time’,
    ‘fields’ => array (
    array (
    ‘key’ => ‘field_58795883ae60c’,
    ‘label’ => ‘Opening Time’,
    ‘name’ => ”,
    ‘type’ => ‘tab’,
    ),
    array (
    ‘key’ => ‘field_587957a30aecf’,
    ‘label’ => ‘Breakfast’,
    ‘name’ => ‘breakfast’,
    ‘type’ => ‘wysiwyg’,
    ‘required’ => 1,
    ‘default_value’ => ”,
    ‘toolbar’ => ‘full’,
    ‘media_upload’ => ‘yes’,
    ),
    array (
    ‘key’ => ‘field_587957f00aed0’,
    ‘label’ => ‘Lunch’,
    ‘name’ => ‘lunch’,
    ‘type’ => ‘wysiwyg’,
    ‘required’ => 1,
    ‘default_value’ => ”,
    ‘toolbar’ => ‘full’,
    ‘media_upload’ => ‘yes’,
    ),
    array (
    ‘key’ => ‘field_587958310aed1’,
    ‘label’ => ‘Dinner’,
    ‘name’ => ‘dinner’,
    ‘type’ => ‘wysiwyg’,
    ‘required’ => 1,
    ‘default_value’ => ”,
    ‘toolbar’ => ‘full’,
    ‘media_upload’ => ‘yes’,
    ),
    array (
    ‘key’ => ‘field_58795c760f586’,
    ‘label’ => ‘Direction’,
    ‘name’ => ”,
    ‘type’ => ‘tab’,
    ),
    array (
    ‘key’ => ‘field_58795c900f587’,
    ‘label’ => ‘Address’,
    ‘name’ => ‘address’,
    ‘type’ => ‘text’,
    ‘default_value’ => ”,
    ‘placeholder’ => ‘Enter Address Here’,
    ‘prepend’ => ”,
    ‘append’ => ”,
    ‘formatting’ => ‘none’,
    ‘maxlength’ => ”,
    ),
    array (
    ‘key’ => ‘field_58795d8550af4’,
    ‘label’ => ‘Contact Details’,
    ‘name’ => ”,
    ‘type’ => ‘tab’,
    ),
    array (
    ‘key’ => ‘field_58795da950af5’,
    ‘label’ => ‘Email’,
    ‘name’ => ’email’,
    ‘type’ => ’email’,
    ‘required’ => 1,
    ‘default_value’ => ”,
    ‘placeholder’ => ‘Enter contact Email Address here’,
    ‘prepend’ => ”,
    ‘append’ => ”,
    ),
    array (
    ‘key’ => ‘field_58795dde50af6’,
    ‘label’ => ‘Phone Number’,
    ‘name’ => ‘phone_number’,
    ‘type’ => ‘text’,
    ‘required’ => 1,
    ‘default_value’ => ”,
    ‘placeholder’ => ‘Enter Reachable Contact Phone Number Here.’,
    ‘prepend’ => ”,
    ‘append’ => ”,
    ‘formatting’ => ‘html’,
    ‘maxlength’ => ”,
    ),
    ),
    ‘location’ => array (
    array (
    array (
    ‘param’ => ‘page’,
    ‘operator’ => ‘==’,
    ‘value’ => ’15’,
    ‘order_no’ => 0,
    ‘group_no’ => 0,
    ),
    ),
    ),
    ‘options’ => array (
    ‘position’ => ‘normal’,
    ‘layout’ => ‘default’,
    ‘hide_on_screen’ => array (
    ),
    ),
    ‘menu_order’ => 0,
    ));
    register_field_group(array (
    ‘id’ => ‘acf_signature-dishes’,
    ‘title’ => ‘Signature Dishes’,
    ‘fields’ => array (
    array (
    ‘key’ => ‘field_5878ff13d8ea4’,
    ‘label’ => ‘Signature Dishes’,
    ‘name’ => ‘signature_dishes’,
    ‘type’ => ‘text’,
    ‘required’ => 1,
    ‘default_value’ => ”,
    ‘placeholder’ => ‘Enter Title Here Please’,
    ‘prepend’ => ”,
    ‘append’ => ”,
    ‘formatting’ => ‘none’,
    ‘maxlength’ => ”,
    ),
    ),
    ‘location’ => array (
    array (
    array (
    ‘param’ => ‘page’,
    ‘operator’ => ‘==’,
    ‘value’ => ’15’,
    ‘order_no’ => 0,
    ‘group_no’ => 0,
    ),
    ),
    ),
    ‘options’ => array (
    ‘position’ => ‘normal’,
    ‘layout’ => ‘no_box’,
    ‘hide_on_screen’ => array (
    ),
    ),
    ‘menu_order’ => 0,
    ));

    }
    endif;

    or i might doing it wrong

  • You are adding you filter conditional on if the function exists, so that’s backwards

    
    // your code
    if( function_exists('register_field_group')):
    
        add_action('init’, ‘register_field_group');
        function register_field_group() {
     ....
    

    should be

    
    add_action('init’, ‘register_field_group');
    function register_field_group() {
        if( function_exists('register_field_group')):
    
        .....
    

    The “IF” statement should be part of your function

  • It didnt seem to work for me. My site crashed on the init function. I put it after I include the following:

    include_once( plugins_url() . ‘/variable-project-post/advanced-custom-fields-pro/acf.php’ );

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

The topic ‘Advanced customs fields in functions.php’ is closed to new replies.