Support

Account

Home Forums Feature Requests Meta Key Values in Custom Field Dropdown

Solving

Meta Key Values in Custom Field Dropdown

  • I haven’t noticed this reported elsewhere so I’m reporting it.

    I’ve setup Field Groups/Custom Fields to appear conditionally on a custom post type that I’ve created.

    As expected, I do not see these Field Groups when editing a built-in WordPress page/post. However, the ACF meta keys do appear in WordPress’ Custom Fields field group drop-down list (see attched screenshot).

    I’ve written code to remove the ACF meta keys from the drop-down list. However, I would expect ACF to include code that automatically hides meta keys that it creates.

    Regards,
    Ken Chase
    http://kenchase.com

  • Hi @kenchase

    Perhaps you could share your code to help identify the problem and solution?

    Thanks
    Elliot

  • 1 – For all of the custom fields that I control the naming of, I prefixed the key with an underscore (i.e. “_my_custom_field”). This prevents them from being displayed in WordPress’ custom fields drop-down list.

    2 – For the custom fields that ACF automatically generates (i.e. when using tabs, ACF uses the “field_51” prefix on the site that I’m working on), I wrote some PHP:

    if(!function_exists(‘kc_hide_meta_keys_start’)){
    function kc_hide_meta_keys_start( $num ){
    add_filter( ‘query’, ‘kc_hide_meta_keys_filter’ );
    return $num;
    }
    add_filter( ‘postmeta_form_limit’, ‘kc_hide_meta_keys_start’ );
    }
    if(!function_exists(‘kc_hide_meta_keys_filter’)){
    function kc_hide_meta_keys_filter( $query ){
    remove_filter( current_filter(), __FUNCTION__ );
    // Match keys beginning with field_51
    $where = “WHERE meta_key NOT LIKE(‘field_51%’);
    $find = “GROUP BY”;
    $query = str_replace( $find, “$where\n$find”, $query );
    return $query;
    }
    }

  • Hi @kenchase

    Thanks for the info. I’m still not sure what the issue is here. Are you asking to have this code as part of the ACF plugin?

  • Hi @elliot

    I would expect any custom fields generated by ACF to be hidden from WordPress’ custom fields drop-down list. Especially if these fields are not associated with the post type being edited (i.e. ACF fields assigned to a custom post type should not be visible when editing a page post type).

    How this is achieved is not important to me, although using the underscore prefix in the ACF plugin’s code is probably the simplest method.

  • Hi @kenchase

    The ACF plugin is a GUI layer for the native custom fields, nothing more, nothing less.

    I can understand that you would like the field names hidden from the dropdown but this is outside the scope of the plugin and can be achieved with a custom filter on your end.

    Thanks
    Elliot

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

The topic ‘Meta Key Values in Custom Field Dropdown’ is closed to new replies.