Posted on

ACF: Filtering custom fields by type

On sites where ACF fields are used a lot, with Flexible Content and Repeater fields, it may be difficult to make Relevanssi only index the relevant ACF fields.

One way to deal with problem is to set Relevanssi to index “visible” custom fields and then restrict the indexed fields by field type. Add this function to your site to restrict the custom field indexing to only “text” type fields:

add_filter( 'relevanssi_index_custom_fields', function( $fields ) {
    $indexed_fields = array();
    foreach( $fields as $field ) {
        $object = get_field_object( $field );
        if ( is_array( $object ) && isset( $object['type'] ) && 'text' === $object['type'] ) {
            $indexed_fields[] = $field;
        }
    }
    return $indexed_fields;
} );

To control which field types are included, modify the “if” clause to include more field types.

Leave a Reply

Are you a Relevanssi Premium customer looking for support? Please use the Premium support form.

Your email address will not be published. Required fields are marked *