Advanced Custom Fields: Sorting custom columns with custom fields sorts only by date

It appeared it was due to the fact that WordPress doesn’t understand that you need to order by certain post meta unless you specify it.

So in my case adding this fixed the sorting issue:

add_action( 'pre_get_posts', 'custom_orderby' );
    function custom_orderby( $query ) {
        if( ! is_admin() )
            return;

        $orderby = $query->get( 'orderby');

        if( 'featured' == $orderby ) {
            $query->set('meta_key','featured');
            $query->set('orderby','meta_value');
        }
        elseif ( 'staff_order' == $orderby ) {
            $query->set('meta_key','staff_order');
            $query->set('orderby','meta_value_num');
        }
        elseif ( 'department' == $orderby ) {
            $query->set('meta_key','department');
            $query->set('orderby','meta_value');
        }
    }

Was able to fix the problem with the help of the member of Advanced Custom Fields community –

http://support.advancedcustomfields.com/forums/topic/sortin-custom-columns-with-custom-fields-sorts-only-by-date/

and by reading

http://code.tutsplus.com/articles/quick-tip-make-your-custom-column-sortable–wp-25095