Forked from shanebp/BuddyPress xprofile add countries
Last active
April 1, 2021 14:57
-
-
Save slaFFik/67e5782da62a2577d1f8 to your computer and use it in GitHub Desktop.
BuddyPress xProfile - Add Countries
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* If you are using BP 2.1+, this will insert a Country selectbox. | |
* Add the function to bp-custom.php and then visit .../wp-admin/users.php?page=bp-profile-setup | |
*/ | |
function bp_add_custom_country_list() { | |
if ( !xprofile_get_field_id_from_name('Country') && 'bp-profile-setup' == $_GET['page'] ) { | |
$country_list_args = array( | |
'field_group_id' => 1, | |
'name' => 'Country', | |
'description' => 'Please select your country', | |
'can_delete' => false, | |
'field_order' => 2, | |
'is_required' => false, | |
'type' => 'selectbox', | |
'order_by' => 'custom' | |
); | |
$country_list_id = xprofile_insert_field( $country_list_args ); | |
if ( $country_list_id ) { | |
$countries = array( | |
"United States", | |
"Afghanistan", | |
"Albania", | |
"Algeria", | |
"Andorra", | |
"Angola", | |
"Antigua and Barbuda", | |
"Argentina", | |
"Armenia", | |
"Australia", | |
"Austria", | |
"Azerbaijan", | |
"Bahamas", | |
"Bahrain", | |
"Bangladesh", | |
"Barbados", | |
"Belarus", | |
"Belgium", | |
"Belize", | |
"Benin", | |
"Bhutan", | |
"Bolivia", | |
"Bosnia and Herzegovina", | |
"Botswana", | |
"Brazil", | |
"Brunei", | |
"Bulgaria", | |
"Burkina Faso", | |
"Burundi", | |
"Cambodia", | |
"Cameroon", | |
"Canada", | |
"Cape Verde", | |
"Central African Republic", | |
"Chad", | |
"Chile", | |
"China", | |
"Colombi", | |
"Comoros", | |
"Congo (Brazzaville)", | |
"Congo", | |
"Costa Rica", | |
"Cote d'Ivoire", | |
"Croatia", | |
"Cuba", | |
"Cyprus", | |
"Czech Republic", | |
"Denmark", | |
"Djibouti", | |
"Dominica", | |
"Dominican Republic", | |
"East Timor (Timor Timur)", | |
"Ecuador", | |
"Egypt", | |
"El Salvador", | |
"Equatorial Guinea", | |
"Eritrea", | |
"Estonia", | |
"Ethiopia", | |
"Fiji", | |
"Finland", | |
"France", | |
"Gabon", | |
"Gambia, The", | |
"Georgia", | |
"Germany", | |
"Ghana", | |
"Greece", | |
"Grenada", | |
"Guatemala", | |
"Guinea", | |
"Guinea-Bissau", | |
"Guyana", | |
"Haiti", | |
"Honduras", | |
"Hungary", | |
"Iceland", | |
"India", | |
"Indonesia", | |
"Iran", | |
"Iraq", | |
"Ireland", | |
"Israel", | |
"Italy", | |
"Jamaica", | |
"Japan", | |
"Jordan", | |
"Kazakhstan", | |
"Kenya", | |
"Kiribati", | |
"Korea, North", | |
"Korea, South", | |
"Kuwait", | |
"Kyrgyzstan", | |
"Laos", | |
"Latvia", | |
"Lebanon", | |
"Lesotho", | |
"Liberia", | |
"Libya", | |
"Liechtenstein", | |
"Lithuania", | |
"Luxembourg", | |
"Macedonia", | |
"Madagascar", | |
"Malawi", | |
"Malaysia", | |
"Maldives", | |
"Mali", | |
"Malta", | |
"Marshall Islands", | |
"Mauritania", | |
"Mauritius", | |
"Mexico", | |
"Micronesia", | |
"Moldova", | |
"Monaco", | |
"Mongolia", | |
"Morocco", | |
"Mozambique", | |
"Myanmar", | |
"Namibia", | |
"Nauru", | |
"Nepal", | |
"Netherlands", | |
"New Zealand", | |
"Nicaragua", | |
"Niger", | |
"Nigeria", | |
"Norway", | |
"Oman", | |
"Pakistan", | |
"Palau", | |
"Panama", | |
"Papua New Guinea", | |
"Paraguay", | |
"Peru", | |
"Philippines", | |
"Poland", | |
"Portugal", | |
"Qatar", | |
"Romania", | |
"Russia", | |
"Rwanda", | |
"Saint Kitts and Nevis", | |
"Saint Lucia", | |
"Saint Vincent", | |
"Samoa", | |
"San Marino", | |
"Sao Tome and Principe", | |
"Saudi Arabia", | |
"Senegal", | |
"Serbia and Montenegro", | |
"Seychelles", | |
"Sierra Leone", | |
"Singapore", | |
"Slovakia", | |
"Slovenia", | |
"Solomon Islands", | |
"Somalia", | |
"South Africa", | |
"Spain", | |
"Sri Lanka", | |
"Sudan", | |
"Suriname", | |
"Swaziland", | |
"Sweden", | |
"Switzerland", | |
"Syria", | |
"Taiwan", | |
"Tajikistan", | |
"Tanzania", | |
"Thailand", | |
"Togo", | |
"Tonga", | |
"Trinidad and Tobago", | |
"Tunisia", | |
"Turkey", | |
"Turkmenistan", | |
"Tuvalu", | |
"Uganda", | |
"Ukraine", | |
"United Arab Emirates", | |
"United Kingdom", | |
"Uruguay", | |
"Uzbekistan", | |
"Vanuatu", | |
"Vatican City", | |
"Venezuela", | |
"Vietnam", | |
"Yemen", | |
"Zambia", | |
"Zimbabwe" | |
); | |
foreach ( $countries as $country ) { | |
xprofile_insert_field( array( | |
'field_group_id' => 1, | |
'parent_id' => $country_list_id, | |
'type' => 'option', | |
'name' => $country, | |
'option_order' => $i++ | |
)); | |
} | |
} | |
} | |
} | |
add_action('bp_init', 'bp_add_custom_country_list'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Worked for me without initializing $i. The code seems to insert Country List in the database and seems like it's better to delete the above code from bp-custom.php file after you have the Country List in the 'Profile Fields' page at: /wp-admin/users.php?page=bp-profile-setup. Else the table storing the above country list, which is the 'bp_xprofile_fields' table seems to be getting repeatedly populated with the above country names.