送信者の住所を入力する項目があるコンタクトフォームを作らないといけないような状況を想像してみてください。そしてリストから国を選択させるようにしたいとします。世界にはおおよそ200もの国がありますから、そのリストは恐ろしく長いものになるとすぐに気づくでしょう。
以前でしたら、Contact Form 7 でそのような長いリストを扱うには、下に示すようにフォームタグにオプションとして全項目を入力する方法しかありませんでした。
[select your-country “Aruba” “Afghanistan” “Angola” “Albania” “Andorra” “United Arab Emirates” “Argentina” “Armenia” “American Samoa” “Antigua and Barbuda” “Australia” “Austria” “Azerbaijan” “Burundi” “Belgium” “Benin” “Burkina Faso” “Bangladesh” “Bulgaria” “Bahrain” “Bahamas” “Bosnia and Herzegovina” “Belarus” “Belize” “Bermuda” “Bolivia, Plurinational State of” “Brazil” “Barbados” “Brunei Darussalam” “Bhutan” “Botswana” “Central African Republic” “Canada” “Switzerland” “Chile” “China” “Côte d’Ivoire” “Cameroon” “Congo, the Democratic Republic of the” “Congo” “Cook Islands” “Colombia” “Comoros” “Cape Verde” “Costa Rica” “Cuba” “Cayman Islands” “Cyprus” “Czech Republic” “Germany” “Djibouti” “Dominica” “Denmark” “Dominican Republic” “Algeria” “Ecuador” “Egypt” “Eritrea” “Spain” “Estonia” “Ethiopia” “Finland” “Fiji” “France” “Micronesia, Federated States of” “Gabon” “United Kingdom” “Georgia” “Ghana” “Guinea” “Gambia” “Guinea-Bissau” “Equatorial Guinea” “Greece” “Grenada” “Guatemala” “Guam” “Guyana” “Hong Kong” “Honduras” “Croatia” “Haiti” “Hungary” “Indonesia” “India” “Ireland” “Iran, Islamic Republic of” “Iraq” “Iceland” “Israel” “Italy” “Jamaica” “Jordan” “Japan” “Kazakhstan” “Kenya” “Kyrgyzstan” “Cambodia” “Kiribati” “Saint Kitts and Nevis” “Korea, Republic of” “Kuwait” “Lao People’s Democratic Republic” “Lebanon” “Liberia” “Libya” “Saint Lucia” “Liechtenstein” “Sri Lanka” “Lesotho” “Lithuania” “Luxembourg” “Latvia” “Morocco” “Monaco” “Moldova, Republic of” “Madagascar” “Maldives” “Mexico” “Marshall Islands” “Macedonia, the former Yugoslav Republic of” “Mali” “Malta” “Myanmar” “Montenegro” “Mongolia” “Mozambique” “Mauritania” “Mauritius” “Malawi” “Malaysia” “Namibia” “Niger” “Nigeria” “Nicaragua” “Netherlands” “Norway” “Nepal” “Nauru” “New Zealand” “Oman” “Pakistan” “Panama” “Peru” “Philippines” “Palau” “Papua New Guinea” “Poland” “Puerto Rico” “Korea, Democratic People’s Republic of” “Portugal” “Paraguay” “Palestine, State of” “Qatar” “Romania” “Russian Federation” “Rwanda” “Saudi Arabia” “Sudan” “Senegal” “Singapore” “Solomon Islands” “Sierra Leone” “El Salvador” “San Marino” “Somalia” “Serbia” “Sao Tome and Principe” “Suriname” “Slovakia” “Slovenia” “Sweden” “Swaziland” “Seychelles” “Syrian Arab Republic” “Chad” “Togo” “Thailand” “Tajikistan” “Turkmenistan” “Timor-Leste” “Tonga” “Trinidad and Tobago” “Tunisia” “Turkey” “Tuvalu” “Taiwan, Province of China” “Tanzania, United Republic of” “Uganda” “Ukraine” “Uruguay” “United States” “Uzbekistan” “Saint Vincent and the Grenadines” “Venezuela, Bolivarian Republic of” “Virgin Islands, U.S.” “Viet Nam” “Vanuatu” “Samoa” “Yemen” “South Africa” “Zambia” “Zimbabwe”]
200 以上ものオプションを管理するのはほとんど不可能ですし、このフォームタグをパースすること自体もサーバーのメモリーと処理時間の浪費になるでしょう。コンタクトフォームで国名リストを扱うというのはそんなにまれな状況とも思えません。もっと簡単に実現できた方がよさそうです。そういう理由から、Listo というもう一つのプラグインが開発されました。
Listo は Contact Form 7 のような他のプラグインによく使われそうな数種類のリストを提供するシンプルなプラグインです。Listo が現在提供するのは、世界の国名、アメリカ合衆国の地方行政区画、世界の通貨のリストであり(このページの末尾に提示)、今後さらに追加される予定です。
Contact Form 7 は Listo との連携をサポートしており、そのドロップダウンメニュー、チェックボックス、およびラジオボタンのオプションに Listo が提供するリストを使うことができます。もう長ったらしいリストを手作業で管理する必要はありません。
コンタクトフォームで長いリストを管理する方法
リストから国名を選択するドロップダウンメニューを作ってみましょう。オプションの値を Listo から取得するので、まだ有効になっていないならまず Listo を有効化します。
典型的なドロップダウンメニューのフォームタグを作ることから始めましょう。[select]
フォームタグを使います。
[select your-country]
このタグにはまだ値がありませんから、空のメニューしか表示されない状態です。次に値として国名リストを追加します。Listo が提供する値を追加するには、次のようにフォームタグに ‘data’ オプションを追加します。
[select your-country data:countries]
‘data:countries’ を追加するだけでメニューに 200 個もの国名オプションを与えることができます。簡単でしょ?
メニューの項目を見ていくとおかしなことに気がつくかもしれません。たとえば、”Antarctica” (南極) が国名リストにあります。南極って人が住んでいる国でしたっけ? このリストに南極が含まれる理由はデータ元が ISO 3166 標準の国名リストだからです。そこにはいくつかの国ではない特別地域が含まれます。
このように、国の定義は従う標準により異なることがあります。こうした定義の差異に対応するため、Listo はまたグループ化機能も提供しています。世界の国名リストに対しては、Listo は “un” と “olympic” の二つのサブグループを提供します。”un” サブグループが国際連合加盟国のみを含むのに対し、”olympic” サブグループは2012年のロンドン夏季オリンピックの参加国のみを含みます。このページの下部にリストとサブグループの一覧があります。
サブグループ付きの data オプションを指定するには、オプションにピリオド (.) とサブグループの名前を追加します。
[select your-country data:countries.olympic]
このメニューはオリンピック参加国のみ含むようになるので、南極を目にすることはなくなるでしょう。
Listo が提供する完全なリスト
国名 [countries]
ISO 3166 標準に基づいた国と属領のリスト。
使用例:
[select your-country data:countries.olympic]
名前 | グループ | |
---|---|---|
1 | アルバ | olympic |
2 | アフガニスタン | un, olympic |
3 | アンゴラ | un, olympic |
4 | アンギラ | |
5 | オーランド諸島 | |
6 | アルバニア | un, olympic |
7 | アンドラ | un, olympic |
8 | アラブ首長国連邦 | un, olympic |
9 | アルゼンチン | un, olympic |
10 | アルメニア | un, olympic |
11 | アメリカ領サモア | olympic |
12 | 南極 | |
13 | フランス南部領 | |
14 | アンティグア・バーブーダ | un, olympic |
15 | オーストラリア | un, olympic |
16 | オーストリア | un, olympic |
17 | アゼルバイジャン | un, olympic |
18 | ブルンジ | un, olympic |
19 | ベルギー | un, olympic |
20 | ベナン | un, olympic |
21 | ボネール、セント・ユースタティウス、サバ | |
22 | ブルキナファソ | un, olympic |
23 | バングラデシュ | un, olympic |
24 | ブルガリア | un, olympic |
25 | バーレーン | un, olympic |
26 | バハマ | un, olympic |
27 | ボスニア・ヘルツェゴビナ | un, olympic |
28 | サン・バルテルミー | |
29 | ベラルーシ | un, olympic |
30 | ベリーズ | un, olympic |
31 | バミューダ | olympic |
32 | ボリビア多民族国 | un, olympic |
33 | ブラジル | un, olympic |
34 | バルバドス | un, olympic |
35 | ブルネイ・ダルサラム | un, olympic |
36 | ブータン | un, olympic |
37 | ブーベ島 | |
38 | ボツワナ | un, olympic |
39 | 中央アフリカ共和国 | un, olympic |
40 | カナダ | un, olympic |
41 | ココス (キーリング) 諸島 | |
42 | スイス | un, olympic |
43 | チリ | un, olympic |
44 | 中国 | un, olympic |
45 | コートジボワール | un, olympic |
46 | カメルーン | un, olympic |
47 | コンゴ民主共和国 | un, olympic |
48 | コンゴ共和国 | un, olympic |
49 | クック諸島 | olympic |
50 | コロンビア | un, olympic |
51 | コモロ | un, olympic |
52 | カーボベルデ | un, olympic |
53 | コスタリカ | un, olympic |
54 | キューバ | un, olympic |
55 | キュラソー島 | |
56 | クリスマス島 | |
57 | ケイマン諸島 | olympic |
58 | キプロス | un, olympic |
59 | チェコ共和国 | un, olympic |
60 | ドイツ | un, olympic |
61 | ジブチ | un, olympic |
62 | ドミニカ | un, olympic |
63 | デンマーク | un, olympic |
64 | ドミニカ共和国 | un, olympic |
65 | アルジェリア | un, olympic |
66 | エクアドル | un, olympic |
67 | エジプト | un, olympic |
68 | エリトリア | un, olympic |
69 | 西サハラ | |
70 | スペイン | un, olympic |
71 | エストニア | un, olympic |
72 | エチオピア | un, olympic |
73 | フィンランド | un, olympic |
74 | フィジー | un, olympic |
75 | フォークランド諸島 (マルビナス諸島) | |
76 | フランス | un, olympic |
77 | フェロー諸島 | |
78 | ミクロネシア連邦 | un, olympic |
79 | ガボン | un, olympic |
80 | イギリス | un, olympic |
81 | ジョージア | un, olympic |
82 | ガーンジー | |
83 | ガーナ | un, olympic |
84 | ジブラルタル | |
85 | ギニア | un, olympic |
86 | グアドループ | |
87 | ガンビア | un, olympic |
88 | ギニアビサウ | un, olympic |
89 | 赤道ギニア共和国 | un, olympic |
90 | ギリシャ | un, olympic |
91 | グレナダ | un, olympic |
92 | グリーンランド | |
93 | グアテマラ | un, olympic |
94 | 仏領ギアナ | |
95 | グアム | olympic |
96 | ガイアナ | un, olympic |
97 | 香港 | olympic |
98 | ハード島とマクドナルド諸島 | |
99 | ホンジュラス | un, olympic |
100 | クロアチア | un, olympic |
101 | ハイチ | un, olympic |
102 | ハンガリー | un, olympic |
103 | インドネシア | un, olympic |
104 | マン島 | |
105 | インド | un, olympic |
106 | イギリス領インド洋地域 | |
107 | アイルランド | un, olympic |
108 | イラン・イスラム共和国 | un, olympic |
109 | イラク | un, olympic |
110 | アイスランド | un, olympic |
111 | イスラエル | un, olympic |
112 | イタリア | un, olympic |
113 | ジャマイカ | un, olympic |
114 | ジャージー | |
115 | ヨルダン | un, olympic |
116 | 日本 | un, olympic |
117 | カザフスタン | un, olympic |
118 | ケニア | un, olympic |
119 | キルギスタン | un, olympic |
120 | コロンビア | un, olympic |
121 | キリバス | un, olympic |
122 | セントクリストファー・ネイビス | un, olympic |
123 | 韓国 (大韓民国) | un, olympic |
124 | クウェート | un, olympic |
125 | ラオス人民民主共和国 | un, olympic |
126 | レバノン | un, olympic |
127 | リベリア | un, olympic |
128 | リビア | un, olympic |
129 | セントルシア | un, olympic |
130 | リヒテンシュタイン | un, olympic |
131 | スリランカ | un, olympic |
132 | レソト | un, olympic |
133 | リトアニア | un, olympic |
134 | ルクセンブルク | un, olympic |
135 | ラトビア | un, olympic |
136 | マカオ | |
137 | サン・マルタン (フランス領) | |
138 | モロッコ | un, olympic |
139 | モナコ | un, olympic |
140 | モルドバ共和国 | un, olympic |
141 | マダガスカル | un, olympic |
142 | モルディブ | un, olympic |
143 | メキシコ | un, olympic |
144 | マーシャル諸島 | un, olympic |
145 | マケドニア旧ユーゴスラビア共和国 | un, olympic |
146 | マリ | un, olympic |
147 | マルタ | un, olympic |
148 | ミャンマー | un, olympic |
149 | モンテネグロ | un, olympic |
150 | モンゴル | un, olympic |
151 | 北マリアナ諸島連邦 | |
152 | モザンビーク | un, olympic |
153 | モーリタニア | un, olympic |
154 | モントセラト | |
155 | マルティニーク | |
156 | モーリシャス | un, olympic |
157 | マラウィ | un, olympic |
158 | マレーシア | un, olympic |
159 | マヨット | |
160 | ナミビア | un, olympic |
161 | ニューカレドニア | |
162 | ニジェール | un, olympic |
163 | ノーフォーク島 | |
164 | ナイジェリア | un, olympic |
165 | ニカラグア | un, olympic |
166 | ニウエ | |
167 | オランダ | un, olympic |
168 | ノルウェー | un, olympic |
169 | ネパール | un, olympic |
170 | ナウル | un, olympic |
171 | ニュージーランド | un, olympic |
172 | オマーン | un, olympic |
173 | パキスタン | un, olympic |
174 | パナマ | un, olympic |
175 | ピトケアン | |
176 | ペルー | un, olympic |
177 | フィリピン | un, olympic |
178 | パラオ | un, olympic |
179 | パプアニューギニア | un, olympic |
180 | ポーランド | un, olympic |
181 | プエルトリコ | olympic |
182 | 朝鮮民主主義人民共和国 | un, olympic |
183 | ポルトガル | un, olympic |
184 | パラグアイ | un, olympic |
185 | パレスチナ自治政府 | olympic |
186 | 仏領ポリネシア | |
187 | カタール | un, olympic |
188 | レユニオン | |
189 | ルーマニア | un, olympic |
190 | ロシア連邦 | un, olympic |
191 | ルワンダ | un, olympic |
192 | サウジアラビア | un, olympic |
193 | スーダン | un, olympic |
194 | セネガル | un, olympic |
195 | シンガポール | un, olympic |
196 | サウスジョージア・サウスサンドウィッチ諸島 | |
197 | セントヘレナ・アセンションおよびトリスタンダクーニャ | |
198 | スバールバル諸島ヤンマイエン島 | |
199 | ソロモン諸島 | un, olympic |
200 | シエラレオネ | un, olympic |
201 | エルサルバドル | un, olympic |
202 | サンマリノ | un, olympic |
203 | ソマリア | un, olympic |
204 | サンピエール島・ミクロン島 | |
205 | セルビア | un, olympic |
206 | 南スーダン | un, olympic |
207 | サントメ・プリンシペ民主共和国 | un, olympic |
208 | スリナム | un, olympic |
209 | スロバキア | un, olympic |
210 | スロベニア | un, olympic |
211 | スウェーデン | un, olympic |
212 | スワジランド | un, olympic |
213 | シント・マールテン (オランダ領) | |
214 | セーシェル | un, olympic |
215 | シリアアラブ共和国 | un, olympic |
216 | タークス・カイコス諸島 | |
217 | チャド | un, olympic |
218 | トーゴ | un, olympic |
219 | タイ | un, olympic |
220 | タジキスタン | un, olympic |
221 | トケラウ | |
222 | トルクメニスタン | un, olympic |
223 | 東ティモール | un, olympic |
224 | トンガ | un, olympic |
225 | トリニダードトバゴ | un, olympic |
226 | チュニジア | un, olympic |
227 | トルコ | un, olympic |
228 | ツバル | un, olympic |
229 | 台湾省 | olympic |
230 | タンザニア連合共和国 | un, olympic |
231 | ウガンダ | un, olympic |
232 | ウクライナ | un, olympic |
233 | 合衆国領有小離島 | |
234 | ウルグアイ | un, olympic |
235 | アメリカ | un, olympic |
236 | ウズベキスタン | un, olympic |
237 | バチカン市国 | |
238 | セントビンセント・グレナディーン | un, olympic |
239 | ベネズエラ・ボリバル共和国 | un, olympic |
240 | イギリス領ヴァージン諸島 | olympic |
241 | アメリカ領ヴァージン諸島 | olympic |
242 | ベトナム | un, olympic |
243 | バヌアツ | un, olympic |
244 | ウォリス・フツナ | |
245 | サモア | un, olympic |
246 | イエメン | un, olympic |
247 | 南アフリカ | un, olympic |
248 | ザンビア | un, olympic |
249 | ジンバブエ | un, olympic |
アメリカ合衆国の地方行政区画 [us_subdivisions]
ISO 3166-2:US 標準に基づいたアメリカ合衆国地方行政区画のリスト。
使用例:
[select your-state data:us_subdivisions.states data:us_subdivisions.districts]
名前 | グループ | |
---|---|---|
1 | Alaska | states |
2 | Alabama | states |
3 | Arkansas | states |
4 | American Samoa | outlying_areas |
5 | Arizona | states |
6 | California | states |
7 | Colorado | states |
8 | Connecticut | states |
9 | District of Columbia | districts |
10 | Delaware | states |
11 | Florida | states |
12 | Georgia | states |
13 | Guam | outlying_areas |
14 | Hawaii | states |
15 | Iowa | states |
16 | Idaho | states |
17 | Illinois | states |
18 | Indiana | states |
19 | Kansas | states |
20 | Kentucky | states |
21 | Louisiana | states |
22 | Massachusetts | states |
23 | Maryland | states |
24 | Maine | states |
25 | Michigan | states |
26 | Minnesota | states |
27 | Missouri | states |
28 | Northern Mariana Islands | outlying_areas |
29 | Mississippi | states |
30 | Montana | states |
31 | North Carolina | states |
32 | North Dakota | states |
33 | Nebraska | states |
34 | New Hampshire | states |
35 | New Jersey | states |
36 | New Mexico | states |
37 | Nevada | states |
38 | New York | states |
39 | Ohio | states |
40 | Oklahoma | states |
41 | Oregon | states |
42 | Pennsylvania | states |
43 | Puerto Rico | outlying_areas |
44 | Rhode Island | states |
45 | South Carolina | states |
46 | South Dakota | states |
47 | Tennessee | states |
48 | Texas | states |
49 | United States Minor Outlying Islands | outlying_areas |
50 | Utah | states |
51 | Virginia | states |
52 | Virgin Islands, U.S. | outlying_areas |
53 | Vermont | states |
54 | Washington | states |
55 | Wisconsin | states |
56 | West Virginia | states |
57 | Wyoming | states |
通貨 [currencies]
ISO 4217 標準に基づいた通貨のリスト。
使用例:
[select your-currency data:currencies]
名前 | グループ | |
---|---|---|
1 | United Arab Emirates dirham | |
2 | Afghan afghani | |
3 | Albanian lek | |
4 | Armenian dram | |
5 | Netherlands Antillean guilder | |
6 | Angolan kwanza | |
7 | Argentine peso | |
8 | Australian dollar | |
9 | Aruban florin | |
10 | Azerbaijani manat | |
11 | Bosnia and Herzegovina convertible mark | |
12 | Barbados dollar | |
13 | Bangladeshi taka | |
14 | Bulgarian lev | |
15 | Bahraini dinar | |
16 | Burundian franc | |
17 | Bermudian dollar | |
18 | Brunei dollar | |
19 | Boliviano | |
20 | Brazilian real | |
21 | Bahamian dollar | |
22 | Bhutanese ngultrum | |
23 | Botswana pula | |
24 | Belarusian ruble | |
25 | Belize dollar | |
26 | Canadian dollar | |
27 | Congolese franc | |
28 | Swiss franc | |
29 | Chilean peso | |
30 | Chinese yuan | |
31 | Colombian peso | |
32 | Costa Rican colon | |
33 | Cuban peso | |
34 | Cape Verde escudo | |
35 | Czech koruna | |
36 | Djiboutian franc | |
37 | Danish krone | |
38 | Dominican peso | |
39 | Algerian dinar | |
40 | Egyptian pound | |
41 | Eritrean nakfa | |
42 | Ethiopian birr | |
43 | Euro | |
44 | Fiji dollar | |
45 | Falkland Islands pound | |
46 | Pound sterling | |
47 | Georgian lari | |
48 | Ghanaian cedi | |
49 | Gibraltar pound | |
50 | Gambian dalasi | |
51 | Guinean franc | |
52 | Guatemalan quetzal | |
53 | Guyanese dollar | |
54 | Hong Kong dollar | |
55 | Honduran lempira | |
56 | Croatian kuna | |
57 | Haitian gourde | |
58 | Hungarian forint | |
59 | Indonesian rupiah | |
60 | Israeli new shekel | |
61 | Indian rupee | |
62 | Iraqi dinar | |
63 | Iranian rial | |
64 | Icelandic króna | |
65 | Jamaican dollar | |
66 | Jordanian dinar | |
67 | Japanese yen | |
68 | Kenyan shilling | |
69 | Kyrgyzstani som | |
70 | Cambodian riel | |
71 | Comoro franc | |
72 | North Korean won | |
73 | South Korean won | |
74 | Kuwaiti dinar | |
75 | Cayman Islands dollar | |
76 | Kazakhstani tenge | |
77 | Lao kip | |
78 | Lebanese pound | |
79 | Sri Lankan rupee | |
80 | Liberian dollar | |
81 | Lesotho loti | |
82 | Lithuanian litas | |
83 | Libyan dinar | |
84 | Moroccan dirham | |
85 | Moldovan leu | |
86 | Malagasy ariary | |
87 | Macedonian denar | |
88 | Myanma kyat | |
89 | Mongolian tugrik | |
90 | Macanese pataca | |
91 | Mauritanian ouguiya | |
92 | Mauritian rupee | |
93 | Maldivian rufiyaa | |
94 | Malawian kwacha | |
95 | Mexican peso | |
96 | Malaysian ringgit | |
97 | Mozambican metical | |
98 | Namibian dollar | |
99 | Nigerian naira | |
100 | Nicaraguan córdoba | |
101 | Norwegian krone | |
102 | Nepalese rupee | |
103 | New Zealand dollar | |
104 | Omani rial | |
105 | Panamanian balboa | |
106 | Peruvian nuevo sol | |
107 | Papua New Guinean kina | |
108 | Philippine peso | |
109 | Pakistani rupee | |
110 | Polish złoty | |
111 | Paraguayan guaraní | |
112 | Qatari riyal | |
113 | Romanian new leu | |
114 | Serbian dinar | |
115 | Russian ruble | |
116 | Rwandan franc | |
117 | Saudi riyal | |
118 | Solomon Islands dollar | |
119 | Seychelles rupee | |
120 | Sudanese pound | |
121 | Swedish krona/kronor | |
122 | Singapore dollar | |
123 | Saint Helena pound | |
124 | Sierra Leonean leone | |
125 | Somali shilling | |
126 | Surinamese dollar | |
127 | South Sudanese pound | |
128 | São Tomé and Príncipe dobra | |
129 | Syrian pound | |
130 | Swazi lilangeni | |
131 | Thai baht | |
132 | Tajikistani somoni | |
133 | Turkmenistani manat | |
134 | Tunisian dinar | |
135 | Tongan paʻanga | |
136 | Turkish lira | |
137 | Trinidad and Tobago dollar | |
138 | New Taiwan dollar | |
139 | Tanzanian shilling | |
140 | Ukrainian hryvnia | |
141 | Ugandan shilling | |
142 | United States dollar | |
143 | Uruguayan peso | |
144 | Uzbekistan som | |
145 | Venezuelan bolívar | |
146 | Vietnamese dong | |
147 | Vanuatu vatu | |
148 | Samoan tala | |
149 | CFA franc BEAC | |
150 | East Caribbean dollar | |
151 | CFA franc BCEAO | |
152 | CFP franc (franc Pacifique) | |
153 | Yemeni rial | |
154 | South African rand | |
155 | Zambian kwacha | |
156 | Zimbabwe dollar |