Gestionar listas largas con Listo

Imagina que necesitas crear un formulario de contacto que tenga campos para obtener la ubicación del remitente y quieres que elija su país desde una lista. Existen alrededor de 200 países en el mundo: pronto te darás cuenta de que la lista se vuelve terriblemente larga.

Anteriormente, la única forma de generar una lista tan larga con Contact Form 7 era añadir manualmente todas las opciones en una etiqueta de formulario como se muestra a continuación:

[select tu-pais «Aruba» «Afganistán» «Angola» «Albania» «Andorra» «Emiratos Árabes Unidos» «Argentina» «Armenia» «Samoa Americana» «Antigua y Barbuda» «Australia» «Austria» «Azerbaiyán» «Burundi» «Bélgica» «Benin» «Burkina Faso» «Bangladés» «Bulgaria» «Baréin» «Bahamas» «Bosnia y Herzegovina» «Belarús» «Belice» «Bermuda» «Bolivia», Estado Plurinacional de» «Brasil» «Barbados» «Brunéi» «Bután» «Botswana» «República Centroafricana» «Canadá» «Suiza» «Chile» «China» «Costa de Marfil» «Camerún» «Congo», Alemania» «Yibuti» «Dominica» «Dinamarca» «República Dominicana» «Argelia» «Ecuador» «Egipto» «Eritrea» «España» «Estonia» «Etiopía» «Finlandia» «Fiji» «Francia» «Micronesia», Estados Federados de» «Gabón» «Reino Unido» «Georgia» «Ghana» «Guinea» «Gambia» «Guinea-Bisáu» «Guinea Ecuatorial» «Grecia» «Granada» «Guatemala» «Guam» «Guyana» «Hong Kong» «Honduras» «Croacia» «Haití» «Hungría» «Indonesia» «India» «Irlanda» «Irán», República Islámica del» «Iraq» «Islandia» «Israel» «Italia» «Jamaica» «Jordania» «Japón» «Kazajstán» «Kenya» «Kirguistán» «Camboya» «Kiribati» «San Cristóbal y Nieves» «Corea», República de» «Kuwait» «Laos» «Líbano» «Liberia» «Libia» «Santa Lucía» «Liechtenstein» «Sri Lanka» «Lesoto» «Lituania» «Luxemburgo» «Letonia» «Marruecos» «Mónaco» «Moldova, República de» «Madagascar» «Maldivas» «México» «Islas Marshall» «Macedonia», la ex República Yugoslava de» «Malí» «Malta» «Myanmar» «Montenegro» «Mongolia» «Mozambique» «Mauritania» «Mauricio» «Malawi» «Malasia» «Namibia» «Níger» «Nigeria» «Nicaragua» «Noruega» «Países Bajos» «Nepal» «Nauru» «Nueva Zelanda» «Omán» «Pakistán» «Panamá» «Perú» «Filipinas» «Palau» «Papúa Nueva Guinea» «Polonia» «Puerto Rico» «Corea», República Popular Democrática de» «Portugal» «Paraguay» «Palestina», Estado de» «Qatar» «Rumania» «Federación de Rusia» «Ruanda» «Arabia Saudita» «Sudán» «Senegal» «Singapur» «Islas Salomón» «Sierra Leona» «El Salvador» «San Marino» «Somalia» «Serbia» «Santo Tomé y Príncipe» «Surinam» «Eslovaquia» «Eslovenia» «Suecia» «Swazilandia» «Seychelles» «República Árabe Siria» «Chad» «Togo» «Tailandia» «Tayikistán» «Turkmenistán» «Timor- Leste» «Tonga» «Trinidad y Tobago» «Túnez» «Turquía» «Tuvalu» «Taiwán» «Tanzania, República Unida de» «Ucrania» «Uganda» «Uruguay» «Estados Unidos» «Uzbekistán» «San Vicente y las Granadinas» «Venezuela, República Bolivariana de» «Islas Vírgenes, U. S.» «Vietnam» «Vanuatu» «Samoa» «Yemen» «Sudáfrica» «Zambia» «Zimbabue»]

Gestionar 200 o más opciones es casi imposible, y analizar esta etiqueta de formulario consumiría memoria y tiempo en tu servidor. La situación de necesitar una lista de países en un formulario de contacto es muy común y debería ser más fácil de configurar. Por eso creé Listo, otro plugin para WordPress.

Listo es un plugin sencillo que proporciona varios tipos de listas comunes para otros plugins como Contact Form 7. Listo proporciona actualmente listas de países del mundo, subdivisiones de EE. UU. Y monedas del mundo (que se muestran en la parte inferior de esta página), con más por venir.

Contact Form 7 es compatible con Listo y permite menús desplegables, casillas de verificación y botones de opción, con una larga lista de opciones que ofrece Listo. Ya no necesitas tener que hacer la engorrosa edición manual.

Cómo gestionar listas largas en un formulario de contacto

Intentemos crear un menú desplegable para seleccionar un país. Obtendremos los valores de las opciones de Listo, así que activa Listo si aún no está activado.

Comencemos creando una etiqueta de formulario para un menú desplegable típico. Para ello usamos la etiqueta de formulario [select]:

[select tu-pais]

Esta etiqueta aún no tiene valores, por lo que se mostrará como un menú vacío. A continuación, añadiremos la lista de países como sus valores de opción. Para añadir valores proporcionados por Listo, escribe la opción «data» a una etiqueta de formulario, como se muestra a continuación:

[select tu-pais data:countries]

Solo con añadir data:countries incluyes aproximadamente 200 opciones de países al menú. Sencillo, ¿verdad?

Al mirar los elementos del menú, es posible que encuentre algo inesperado. Por ejemplo, «Antártida» está en la lista de países. ¿La Antártida es un país donde viven personas? La razón por la que la Antártida está en la lista es que la fuente de datos de la lista de países es el estándar ISO 3166, que incluye algunas áreas especiales.

Por tanto, la definición de un país puede diferir según los estándares. Para tratar con diferentes definiciones, Listo también proporciona una función de agrupación. Para la lista de países del mundo, Listo proporciona dos subgrupos: «un» y «olympic». El subgrupo «un» solo incluye miembros de las Naciones Unidas (United Nations), mientras que el subgrupo «olympic» solo incluye naciones participantes en los Juegos Olímpicos de Londres 2012. En la parte inferior de esta página se muestra una lista completa con subgrupos.

Para especificar la opción de «data» con un subgrupo, añade un punto (.) y el nombre del subgrupo a la opción.

[select tu-pais data:countries.olympic]

Este menú solo incluirá a las naciones olímpicas participantes en sus opciones: no verás la Antártida allí.

Listas completas que proporciona Listo

Países [countries]

Una lista de países y territorios dependientes, basada en el estándar ISO 3166.

Ejemplo de uso:

[select tu-pais data:countries.olympic]
NombreEn grupo
1Arubaolympic
2Afganistánun, olympic
3Angolaun, olympic
4Anguila
5Islas de Åland
6Albaniaun, olympic
7Andorraun, olympic
8Emiratos Árabes Unidosun, olympic
9Argentinaun, olympic
10Armeniaun, olympic
11Samoa Americanaolympic
12Antarctica
13Territorios Australes y Antárticas Franceses
14Antigua and Barbudaun, olympic
15Australiaun, olympic
16Austriaun, olympic
17Azerbayánun, olympic
18Burundiun, olympic
19Bélgicaun, olympic
20Benínun, olympic
21Bonaire, San Eustaquio y Saba
22Burkina Fasoun, olympic
23Bangladeshun, olympic
24Bulgariaun, olympic
25Bahreinun, olympic
26Bahamasun, olympic
27Bosnia and Herzegovinaun, olympic
28San Bartolomé
29Bielorrusiaun, olympic
30Beliceun, olympic
31Islas Bermudasolympic
32Boliviaun, olympic
33Brasilun, olympic
34Barbadosun, olympic
35Brunéiun, olympic
36Bhutánun, olympic
37Isla Bouvet
38Botsuanaun, olympic
39República Centroafricanaun, olympic
40Canadaun, olympic
41Islas Cocos (Keeling)
42Suizaun, olympic
43Chileun, olympic
44Chinaun, olympic
45Costa de Marfilun, olympic
46Camerúnun, olympic
47Congo, República Democrática delun, olympic
48Congoun, olympic
49Islas Cookolympic
50Colombiaun, olympic
51Comorasun, olympic
52Cabo Verdeun, olympic
53Costa Ricaun, olympic
54Cubaun, olympic
55Curazao
56Isla de Navidad
57Islas Caimánolympic
58Chipreun, olympic
59Czechiaun, olympic
60Alemaniaun, olympic
61Yibutiun, olympic
62Dominicaun, olympic
63Dinamarcaun, olympic
64República Dominicanaun, olympic
65Argeliaun, olympic
66Ecuadorun, olympic
67Egiptoun, olympic
68Eritreaun, olympic
69Sahara Occidental
70Españaun, olympic
71Estoniaun, olympic
72Etiopíaun, olympic
73Finlandiaun, olympic
74Fijiun, olympic
75Islas Malvinas
76Franciaun, olympic
77Islas Feroe
78Micronesiaun, olympic
79Gabonun, olympic
80United Kingdom of Great Britain and Northern Irelandun, olympic
81Georgiaun, olympic
82Guernsey
83Ghanaun, olympic
84Gibraltar
85Guineaun, olympic
86Guadalupe
87Gambiaun, olympic
88Guinea-Bissauun, olympic
89Guinea Ecuatorialun, olympic
90Greciaun, olympic
91Granadaun, olympic
92Groenlandia
93Guatemalaun, olympic
94Guayana Francesa
95Guamolympic
96Guyanaun, olympic
97Hong Kongolympic
98Islas Heard y McDonald
99Hondurasun, olympic
100Croaciaun, olympic
101Haitíun, olympic
102Hungríaun, olympic
103Indonesiaun, olympic
104Isla de Man
105Indiaun, olympic
106Territorio Británico del Océano Índico
107Irlandaun, olympic
108Irán, República Islámica deun, olympic
109Irakun, olympic
110Islandiaun, olympic
111Israelun, olympic
112Italiaun, olympic
113Jamaicaun, olympic
114Jersey
115Jordaniaun, olympic
116Japónun, olympic
117Kazajistánun, olympic
118Keniaun, olympic
119Kirgizstánun, olympic
120Camboyaun, olympic
121Kiribatiun, olympic
122Saint Kitts and Nevisun, olympic
123Corea del Surun, olympic
124Kuwaitun, olympic
125República Popular Democrática de Laosun, olympic
126Lebanonun, olympic
127Liberiaun, olympic
128Libiaun, olympic
129Santa Lucíaun, olympic
130Liechtensteinun, olympic
131Sri Lankaun, olympic
132Lesotoun, olympic
133Lituaniaun, olympic
134Luxemburgoun, olympic
135Letoniaun, olympic
136Macao
137San Martín (Francia)
138Marruecosun, olympic
139Monacoun, olympic
140Moldaviaun, olympic
141Madagascarun, olympic
142Islas Maldivasun, olympic
143Mexicoun, olympic
144Islas Marshallun, olympic
145North Macedoniaun, olympic
146Maliun, olympic
147Maltaun, olympic
148Birmaniaun, olympic
149Montenegroun, olympic
150Mongoliaun, olympic
151Islas Marianas del Norte
152Mozambiqueun, olympic
153Mauritaniaun, olympic
154Montserrat
155Martinica
156Mauricioun, olympic
157Malawiun, olympic
158Malasiaun, olympic
159Mayotte
160Namibiaun, olympic
161Nueva Caledonia
162Nigerun, olympic
163Norfolk Island
164Nigeriaun, olympic
165Nicaraguaun, olympic
166Niue
167Netherlands, Kingdom of theun, olympic
168Norwayun, olympic
169Nepalun, olympic
170Nauruun, olympic
171Nueva Zelandaun, olympic
172Ománun, olympic
173Pakistánun, olympic
174Panamáun, olympic
175Pitcairn
176Perúun, olympic
177Filipinasun, olympic
178Palauun, olympic
179Papúa Nueva Guineaun, olympic
180Poloniaun, olympic
181Puerto Ricoolympic
182Corea del Norteun, olympic
183Portugalun, olympic
184Paraguayun, olympic
185Palestinaolympic
186Polinesia Francesa
187Qatarun, olympic
188Reunión
189Rumaníaun, olympic
190Rusiaun, olympic
191Ruandaun, olympic
192Arabia Sauditaun, olympic
193Sudánun, olympic
194Senegalun, olympic
195Singapurun, olympic
196Islas Georgias del Sur y Sandwich del Sur
197Santa Elena
198Svalbard y Jan Mayen
199Solomon Islandsun, olympic
200Sierra Leonaun, olympic
201El Salvadorun, olympic
202San Marinoun, olympic
203Somaliaun, olympic
204San Pedro y Miquelón
205Serbiaun, olympic
206Sudán del Surun, olympic
207Santo Tomé y Príncipeun, olympic
208Surinámun, olympic
209Eslovaquiaun, olympic
210Esloveniaun, olympic
211Sueciaun, olympic
212Eswatiniun, olympic
213Sint Maarten
214Seychellesun, olympic
215Siriaun, olympic
216Islas Turcas y Caicos
217Chadun, olympic
218Togoun, olympic
219Tailandiaun, olympic
220Tadjikistánun, olympic
221Tokelau
222Turkmenistanun, olympic
223Timor Orientalun, olympic
224Tongaun, olympic
225Trinidad y Tobagoun, olympic
226Tunezun, olympic
227Turquíaun, olympic
228Tuvaluun, olympic
229Taiwánolympic
230Tanzaniaun, olympic
231Ugandaun, olympic
232Ucraniaun, olympic
233Islas Ultramarinas Menores de Estados Unidos
234Uruguayun, olympic
235United States of Americaun, olympic
236Uzbekistánun, olympic
237Holy See
238San Vicente y las Granadinasun, olympic
239Venezuelaun, olympic
240Islas Vírgenes Británicasolympic
241Islas Vírgenes de los Estados Unidosolympic
242Vietnamun, olympic
243Vanuatuun, olympic
244Wallis y Futuna
245Samoaun, olympic
246Yemenun, olympic
247Sudáfricaun, olympic
248Zambiaun, olympic
249Zimbabweun, olympic
Subdivisiones de los Estados Unidos [us_subdivisions]

La lista de subdivisiones de los Estados Unidos, basada en el estándar ISO 3166-2:US.

Ejemplo de uso:

[select tu-estado data:us_subdivisions.states data:us_subdivisions.districts]
NombreEn grupo
1Alaskastates
2Alabamastates
3Arkansasstates
4Samoa Americanaoutlying_areas
5Arizonastates
6Californiastates
7Coloradostates
8Connecticutstates
9Distrito de Columbiadistricts
10Delawarestates
11Floridastates
12Georgiastates
13Guamoutlying_areas
14Hawáistates
15Iowastates
16Idahostates
17Illinoisstates
18Indianastates
19Kansasstates
20Kentuckystates
21Louisianastates
22Massachusettsstates
23Marylandstates
24Mainestates
25Michiganstates
26Minnesotastates
27Missouristates
28Islas Marianas del norteoutlying_areas
29Mississippistates
30Montanastates
31Carolina del nortestates
32Dakota del Nortestates
33Nebraskastates
34New Hampshirestates
35Nueva Jerseystates
36Nuevo Méxicostates
37Nevadastates
38Nueva Yorkstates
39Ohiostates
40Oklahomastates
41Oregonstates
42Pennsylvaniastates
43Puerto Ricooutlying_areas
44Rhode Islandstates
45Carolina del surstates
46Dakota del surstates
47Tennesseestates
48Texasstates
49Islas Menores Exteriores de Estados Unidosoutlying_areas
50Utahstates
51Virginiastates
52Islas Vírgenes, Estados Unidosoutlying_areas
53Vermontstates
54Washingtonstates
55Wisconsinstates
56Virginia del Oestestates
57Wyomingstates
Monedas [currencies]

Una lista de monedas, basada en el estándar ISO 4217.

Ejemplo de uso:

[select tu-moneda data:currencies]
NombreEn grupo
1Dírham de los Emiratos Árabes Unidos
2Afgani afgano
3Lek albanés
4Dram armenio
5Florín neerlandés
6Kwanza angoleño
7Peso argentino
8Dólar australiano
9Florín arubeño
10Manat azerbaiyano
11Marco convertible de Bosnia-Herzegovina
12Dólar de Barbados
13Taka bangladesí
14Lev búlgaro
15Dinar bareiní
16Franco burundiano
17Dólar bermudeño
18Dólar de Brunei
19Boliviano
20Real brasileño
21Dólar bahameño
22Ngultrum butanés
23Pula de Botsuana
24Rublo bielorruso
25Dólar beliceño
26Dolar canadiense
27Franco congoleño
28Franco suizo
29Peso chileno
30Yuan chino
31Peso colombiano
32Colón costarricense
33Peso cubano
34Escudo caboverdiano
35Corona checa
36Franco de Djibouti
37Corona danesa
38Peso dominicano
39Dinar argelino
40Libra egipcia
41Nafka eritreo
42Birr etíope
43Euro
44Dólar de Islas Fiji
45Libra malvinense
46Libra esterlina
47Lari georgiano
48Cedí ghanés
49Libra gibraltareña
50Dalasi de Gambia
51Franco guineano
52Quetzal guatemalteco
53Dólar guyanés
54Dólar de Hong Kong
55Lempira hondureña
56Kuna croata
57Gourde haitiano
58Florín húngaro
59Rupia indonesia
60Nuevo séquel israelí
61Rupia india
62Dinar iraquí
63Rial iraní
64Corona islandesa
65Dólar jamaicano
66Dinar jordano
67Yen japonés
68Chelín keniano
69Som kirguís
70Riel camboyano
71Franco comorense
72Won norcoreano
73Won surcoreano
74Dinar kuwaití
75Dólar de las Islas Caimán
76Tenge kazajo
77Kip laosiano
78Libra libanesa
79Rupia de Sri Lanka
80Dólar liberiano
81Loti de Lesoto
82Litas lituana
83Dinar libio
84Dírham marroquí
85Leu moldavo
86Ariary malgache
87Denar macedonio
88Myanma kyat
89Tugrik mongol
90Pataca macaense
91Uguiya mauritana
92Rupia de Mauricio
93Rupia de Maldivas
94Kwacha de Malawi
95Peso mexicano
96Ringgit malayo
97Metical mozambiqueño
98Dólar namibio
99Naira nigeriana
100Córdoba nicaragüense
101Corona noruega
102Rupia nepalí
103Dólar neozelandés
104Rial omaní
105Balboa panameño
106Nuevo sol peruano
107Kina de Papúa Nueva Guinea
108Peso filipino
109Rupia pakistaní
110Zloty polaco
111Guaraní paraguayo
112Riyal qatarí
113Leu rumano
114Dinar serbio
115Rublo ruso
116Franco ruandés
117Riyal saudí
118Dólar de las Islas Salomón
119Rupia de Seychelles
120Libra sudanesa
121Corona sueca
122Dólar de Singapur
123Libra de Santa Elena
124Leone
125Chelín somalí
126Dólar surinamés
127Libra sursudanesa
128Dobra santotomense
129Libra síria
130Swazi lilangeni
131Baht tailandés
132Somoni tayiko
133Manat turcomano
134Dinar tunecino
135Dólar tongano
136Lira turca
137Dólar de Trinidad y Tobago
138Nuevo dólar taiwanés
139Chelín tanzano
140Grivna ucraniana
141Chelín ugandés
142Dólar estadounidense
143Peso uruguayo
144Som uzbeko
145Bolívar venezolano
146Dong vietnamita
147Vatu vanuatuense
148Tala de Samoa
149Franco CFA BEAC
150Dólar del Caribe Oriental
151Franco CFA BCEAO
152Franco CFP
153Rial Yemení
154Rand surafricano
155Kwacha zambiano
156Dólar zimbabuense

Just another contact form plugin for WordPress. Simple but flexible.