【Drupal】ラジオボタンのN/Aを消したい


「リスト(テキスト)」のフィールドタイプを作成し制限を1にして設定を保存後、

フォームの表示管理からWIDGETを「チェックボックス/ラジオボタン」に設定すると

ラジオボタンのフィールドを作成できる。

このとき表示される「N/A」がいらないときの処理について忘れないように記しておきます。(もっといい方法あるかもしれませんが。)

カスタムモジュールのディレクトリ名を「remove_radio_list_na」としておきます。

MY_MODULE.info.yml

modules/custom/remove_radio_list_na/remove_radio_list_na.info.yml
name: Remove Radio List N/A
description: ラジオボタンにN/Aは表示しないようにします。
type: module
core: 8.x
core_version_requirement: ^8 || ^9
package: Custom

MY_MODULE.module

modules/custom/remove_radio_list_na/remove_radio_list_na.module
<?php

/**
 * Implements hook_element_info_alter().
 */
function remove_radio_list_na_element_info_alter(array &$info) {
  if (isset($info['radios'])) {
    $info['radios']['#process'][] = 'remove_radio_na';
  }
}

function remove_radio_na($element) {
  if (isset($element['#field_name'])
  && ($element['#field_name'] === フィールドのシステム内部名称)) {
    unset($element['_none']);
  }
  return $element;
}