Views 3 doesn't recognize a declared handler. Why not? In modules/addressfield/addressfield.module I have:

/**
 * Implements hook_views_api().
 */
function addressfield_views_api() {
  return array(
    'api' =&gt; 3,
    'path' =&gt; drupal_get_path('module', 'addressfield') . '/views',
  );
}


and

/**
*  Implements hook_field_views_data_alter
* 
* @param mixed $result
* @param mixed $field
*/
function addressfield_field_views_data_alter (&amp;$result, $field) {
  if (array_key_exists('field_data_field_address', $result)) {
    $result['field_data_field_address']['field_address_country'] += array(
      'title' =&gt; t('Country'),
      'help' =&gt; t('The Country name of the field'),
      'field' =&gt; array(
        'handler' =&gt; 'addressfield_views_handler_field_country',
        'click sortable' =&gt; TRUE,
      ),
    );
  }
}


In modules/addressfield/views/addressfield.views.inc:

/**
 * Implementation of hook_views_handlers().
 */
function addressfield_views_handlers() {
  return array(
    'info' =&gt; array(
      'path' =&gt; drupal_get_path('module', 'addressfield') . '/views',
    ),
    'handlers' =&gt; array(
      'addressfield_views_handler_field_country' =&gt; array(
        'parent' =&gt; 'views_handler_field',
      ),
    ),
  );
}


This file doesn't get triggered in the debugger when I clear the cache. I don't understand this.

The handler is in modules/addressfield/views/addressfield_views_handler_field_country.inc which I took from the location module:

/**
 * @file
 * Country field handler.
 */

class addressfield_views_handler_field_country extends views_handler_field {

  function option_definition() {
    $options = parent::option_definition();
    $options['style'] = array('default' =&gt; 'name');
    return $options;
  }

  function options_form(&amp;$form, &amp;$form_state) {
    parent::options_form($form, $form_state);
    $form['style'] = array(
      '#title' =&gt; t('Display style'),
      '#type' =&gt; 'select',
      '#options' =&gt; array('name' =&gt; t('Country name'), 'code' =&gt; t('Country code')),
      '#default_value' =&gt; $this-&gt;options['style'],
    );
  }

  function render($values) {
      return check_plain(strtoupper($values-&gt;{$this-&gt;field_alias}));
  }
}


Any advice on how to get this to work would be helpful. Thank you.
Which core version? In Drupal 7, hook_views_handlers() is gone, add your files to your .info file instead.

files[]=views/addressfield_views_handler_field_country.inc