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]
Name | In Group | |
---|---|---|
1 | Aruba | olympic |
2 | Afghanistan | un, olympic |
3 | Angola | un, olympic |
4 | Anguilla | |
5 | Åland Islands | |
6 | Albania | un, olympic |
7 | Andorra | un, olympic |
8 | United Arab Emirates | un, olympic |
9 | Argentina | un, olympic |
10 | Armenia | un, olympic |
11 | American Samoa | olympic |
12 | Antarctica | |
13 | French Southern Territories | |
14 | Antigua and Barbuda | un, olympic |
15 | Australia | un, olympic |
16 | Austria | un, olympic |
17 | Azerbaijan | un, olympic |
18 | Burundi | un, olympic |
19 | Belgium | un, olympic |
20 | Benin | un, olympic |
21 | Bonaire, Sint Eustatius and Saba | |
22 | Burkina Faso | un, olympic |
23 | Bangladesh | un, olympic |
24 | Bulgaria | un, olympic |
25 | Bahrain | un, olympic |
26 | Bahamas | un, olympic |
27 | Bosnia and Herzegovina | un, olympic |
28 | Saint Barthélemy | |
29 | Belarus | un, olympic |
30 | Belize | un, olympic |
31 | Bermuda | olympic |
32 | Bolivia, Plurinational State of | un, olympic |
33 | Brazil | un, olympic |
34 | Barbados | un, olympic |
35 | Brunei Darussalam | un, olympic |
36 | Bhutan | un, olympic |
37 | Bouvet Island | |
38 | Botswana | un, olympic |
39 | Central African Republic | un, olympic |
40 | Canada | un, olympic |
41 | Cocos (Keeling) Islands | |
42 | Switzerland | un, olympic |
43 | Chile | un, olympic |
44 | China | un, olympic |
45 | Côte d'Ivoire | un, olympic |
46 | Cameroon | un, olympic |
47 | Congo, the Democratic Republic of the | un, olympic |
48 | Congo | un, olympic |
49 | Cook Islands | olympic |
50 | Colombia | un, olympic |
51 | Comoros | un, olympic |
52 | Cape Verde | un, olympic |
53 | Costa Rica | un, olympic |
54 | Cuba | un, olympic |
55 | Curaçao | |
56 | Christmas Island | |
57 | Cayman Islands | olympic |
58 | Cyprus | un, olympic |
59 | Czech Republic | un, olympic |
60 | Germany | un, olympic |
61 | Djibouti | un, olympic |
62 | Dominica | un, olympic |
63 | Denmark | un, olympic |
64 | Dominican Republic | un, olympic |
65 | Algeria | un, olympic |
66 | Ecuador | un, olympic |
67 | Egypt | un, olympic |
68 | Eritrea | un, olympic |
69 | Western Sahara | |
70 | Spain | un, olympic |
71 | Estonia | un, olympic |
72 | Ethiopia | un, olympic |
73 | Finland | un, olympic |
74 | Fiji | un, olympic |
75 | Falkland Islands (Malvinas) | |
76 | France | un, olympic |
77 | Faroe Islands | |
78 | Micronesia, Federated States of | un, olympic |
79 | Gabon | un, olympic |
80 | United Kingdom | un, olympic |
81 | Georgia | un, olympic |
82 | Guernsey | |
83 | Ghana | un, olympic |
84 | Gibraltar | |
85 | Guinea | un, olympic |
86 | Guadeloupe | |
87 | Gambia | un, olympic |
88 | Guinea-Bissau | un, olympic |
89 | Equatorial Guinea | un, olympic |
90 | Greece | un, olympic |
91 | Grenada | un, olympic |
92 | Greenland | |
93 | Guatemala | un, olympic |
94 | French Guiana | |
95 | Guam | olympic |
96 | Guyana | un, olympic |
97 | Hong Kong | olympic |
98 | Heard Island and McDonald Islands | |
99 | Honduras | un, olympic |
100 | Croatia | un, olympic |
101 | Haiti | un, olympic |
102 | Hungary | un, olympic |
103 | Indonesia | un, olympic |
104 | Isle of Man | |
105 | India | un, olympic |
106 | British Indian Ocean Territory | |
107 | Ireland | un, olympic |
108 | Iran, Islamic Republic of | un, olympic |
109 | Iraq | un, olympic |
110 | Iceland | un, olympic |
111 | Israel | un, olympic |
112 | Italy | un, olympic |
113 | Jamaica | un, olympic |
114 | Jersey | |
115 | Jordan | un, olympic |
116 | Japan | un, olympic |
117 | Kazakhstan | un, olympic |
118 | Kenya | un, olympic |
119 | Kyrgyzstan | un, olympic |
120 | Cambodia | un, olympic |
121 | Kiribati | un, olympic |
122 | Saint Kitts and Nevis | un, olympic |
123 | Korea, Republic of | un, olympic |
124 | Kuwait | un, olympic |
125 | Lao People's Democratic Republic | un, olympic |
126 | Lebanon | un, olympic |
127 | Liberia | un, olympic |
128 | Libya | un, olympic |
129 | Saint Lucia | un, olympic |
130 | Liechtenstein | un, olympic |
131 | Sri Lanka | un, olympic |
132 | Lesotho | un, olympic |
133 | Lithuania | un, olympic |
134 | Luxembourg | un, olympic |
135 | Latvia | un, olympic |
136 | Macao | |
137 | Saint Martin (French part) | |
138 | Morocco | un, olympic |
139 | Monaco | un, olympic |
140 | Moldova, Republic of | un, olympic |
141 | Madagascar | un, olympic |
142 | Maldives | un, olympic |
143 | Mexico | un, olympic |
144 | Marshall Islands | un, olympic |
145 | Macedonia, the former Yugoslav Republic of | un, olympic |
146 | Mali | un, olympic |
147 | Malta | un, olympic |
148 | Myanmar | un, olympic |
149 | Montenegro | un, olympic |
150 | Mongolia | un, olympic |
151 | Northern Mariana Islands | |
152 | Mozambique | un, olympic |
153 | Mauritania | un, olympic |
154 | Montserrat | |
155 | Martinique | |
156 | Mauritius | un, olympic |
157 | Malawi | un, olympic |
158 | Malaysia | un, olympic |
159 | Mayotte | |
160 | Namibia | un, olympic |
161 | New Caledonia | |
162 | Niger | un, olympic |
163 | Norfolk Island | |
164 | Nigeria | un, olympic |
165 | Nicaragua | un, olympic |
166 | Niue | |
167 | Netherlands | un, olympic |
168 | Norway | un, olympic |
169 | Nepal | un, olympic |
170 | Nauru | un, olympic |
171 | New Zealand | un, olympic |
172 | Oman | un, olympic |
173 | Pakistan | un, olympic |
174 | Panama | un, olympic |
175 | Pitcairn | |
176 | Peru | un, olympic |
177 | Philippines | un, olympic |
178 | Palau | un, olympic |
179 | Papua New Guinea | un, olympic |
180 | Poland | un, olympic |
181 | Puerto Rico | olympic |
182 | Korea, Democratic People's Republic of | un, olympic |
183 | Portugal | un, olympic |
184 | Paraguay | un, olympic |
185 | Palestine, State of | olympic |
186 | French Polynesia | |
187 | Qatar | un, olympic |
188 | Réunion | |
189 | Romania | un, olympic |
190 | Russian Federation | un, olympic |
191 | Rwanda | un, olympic |
192 | Saudi Arabia | un, olympic |
193 | Sudan | un, olympic |
194 | Senegal | un, olympic |
195 | Singapore | un, olympic |
196 | South Georgia and the South Sandwich Islands | |
197 | Saint Helena, Ascension and Tristan da Cunha | |
198 | Svalbard and Jan Mayen | |
199 | Solomon Islands | un, olympic |
200 | Sierra Leone | un, olympic |
201 | El Salvador | un, olympic |
202 | San Marino | un, olympic |
203 | Somalia | un, olympic |
204 | Saint Pierre and Miquelon | |
205 | Serbia | un, olympic |
206 | South Sudan | un, olympic |
207 | Sao Tome and Principe | un, olympic |
208 | Suriname | un, olympic |
209 | Slovakia | un, olympic |
210 | Slovenia | un, olympic |
211 | Sweden | un, olympic |
212 | Swaziland | un, olympic |
213 | Sint Maarten (Dutch part) | |
214 | Seychelles | un, olympic |
215 | Syrian Arab Republic | un, olympic |
216 | Turks and Caicos Islands | |
217 | Chad | un, olympic |
218 | Togo | un, olympic |
219 | Thailand | un, olympic |
220 | Tajikistan | un, olympic |
221 | Tokelau | |
222 | Turkmenistan | un, olympic |
223 | Timor-Leste | un, olympic |
224 | Tonga | un, olympic |
225 | Trinidad and Tobago | un, olympic |
226 | Tunisia | un, olympic |
227 | Turkey | un, olympic |
228 | Tuvalu | un, olympic |
229 | Taiwan, Province of China | olympic |
230 | Tanzania, United Republic of | un, olympic |
231 | Uganda | un, olympic |
232 | Ukraine | un, olympic |
233 | United States Minor Outlying Islands | |
234 | Uruguay | un, olympic |
235 | United States | un, olympic |
236 | Uzbekistan | un, olympic |
237 | Holy See (Vatican City State) | |
238 | Saint Vincent and the Grenadines | un, olympic |
239 | Venezuela, Bolivarian Republic of | un, olympic |
240 | Virgin Islands, British | olympic |
241 | Virgin Islands, U.S. | olympic |
242 | Viet Nam | un, olympic |
243 | Vanuatu | un, olympic |
244 | Wallis and Futuna | |
245 | Samoa | un, olympic |
246 | Yemen | un, olympic |
247 | South Africa | un, olympic |
248 | Zambia | un, olympic |
249 | Zimbabwe | un, 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]
Name | In Group | |
---|---|---|
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 |
Monedas [currencies]
Una lista de monedas, basada en el estándar ISO 4217.
Ejemplo de uso:
[select tu-moneda data:currencies]
Name | In Group | |
---|---|---|
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 |