Guest User

Untitled

a guest
Nov 1st, 2014
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.82 KB | None | 0 0
  1. <?php
  2. /*
  3. Plugin Name: Buddypress Group meta fields
  4. Plugin URI: http://MyWebsite.com
  5. Description: extra group meta fields for buddypress
  6. Version: 1.0
  7. Requires at least: 3.3
  8. Tested up to: 3.3.1
  9. License: GPL3
  10. Author: Your Name
  11. Author URI: http://YourCoolWebsite.com
  12. */
  13. function bp_group_meta_init() {
  14. function custom_field($meta_key='') {
  15. //get current group id and load meta_key value if passed. If not pass it blank
  16. return groups_get_groupmeta( bp_get_group_id(), $meta_key) ;
  17. }
  18. //code if using seperate files require( dirname( __FILE__ ) . '/buddypress-group-meta.php' );
  19. // This function is our custom field's form that is called in create a group and when editing group details
  20. function group_header_fields_markup() {
  21. global $bp, $wpdb;
  22. ?>
  23.  
  24. <?php $country_list =
  25. array(
  26. 'AF' => 'Afghanistan',
  27. 'AL' => 'Albanië',
  28. 'DZ' => 'Algerije',
  29. 'AS' => 'Amerikaans-Samoa',
  30. 'VI' => 'Amerikaanse Maagdeneilanden',
  31. 'AD' => 'Andorra',
  32. 'AO' => 'Angola',
  33. 'AI' => 'Anguilla',
  34. 'AQ' => 'Antarctica',
  35. 'AG' => 'Antigua en Barbuda',
  36. 'AR' => 'Argentinië',
  37. 'AM' => 'Armenië',
  38. 'AW' => 'Aruba',
  39. 'AU' => 'Australië',
  40. 'AZ' => 'Azerbeidzjan',
  41. 'BS' => 'Bahama\'s',
  42. 'BH' => 'Bahrein',
  43. 'BD' => 'Bangladesh',
  44. 'BB' => 'Barbados',
  45. 'BE' => 'België',
  46. 'BZ' => 'Belize',
  47. 'BJ' => 'Benin',
  48. 'BM' => 'Bermuda',
  49. 'BT' => 'Bhutan',
  50. 'BO' => 'Bolivia',
  51. 'BA' => 'Bosnië en Herzegovina',
  52. 'BW' => 'Botswana',
  53. 'BV' => 'Bouvet',
  54. 'BR' => 'Brazilië',
  55. 'IO' => 'Brits Territorium in de Indische Oceaan',
  56. 'VG' => 'Britse Maagdeneilanden',
  57. 'BN' => 'Brunei',
  58. 'BG' => 'Bulgarije',
  59. 'BF' => 'Burkina Faso',
  60. 'BI' => 'Burundi',
  61. 'KH' => 'Cambodja',
  62. 'CA' => 'Canada',
  63. 'CF' => 'Centraal-Afrikaanse Republiek',
  64. 'CL' => 'Chili',
  65. 'CN' => 'China',
  66. 'CX' => 'Christmaseiland',
  67. 'CC' => 'Cocoseilanden',
  68. 'CO' => 'Colombia',
  69. 'KM' => 'Comoren',
  70. 'CG' => 'Congo-Brazzaville',
  71. 'CD' => 'Congo-Kinshasa',
  72. 'CK' => 'Cookeilanden',
  73. 'CR' => 'Costa Rica',
  74. 'CU' => 'Cuba',
  75. 'CY' => 'Cyprus',
  76. 'DK' => 'Denemarken',
  77. 'DJ' => 'Djibouti',
  78. 'DM' => 'Dominica',
  79. 'DO' => 'Dominicaanse Republiek',
  80. 'DE' => 'Duitsland',
  81. 'EC' => 'Ecuador',
  82. 'EG' => 'Egypte',
  83. 'SV' => 'El Salvador',
  84. 'GQ' => 'Equatoriaal-Guinea',
  85. 'ER' => 'Eritrea',
  86. 'EE' => 'Estland',
  87. 'ET' => 'Ethiopië',
  88. 'FO' => 'Faeröer',
  89. 'FK' => 'Falklandeilanden',
  90. 'FJ' => 'Fiji',
  91. 'PH' => 'Filipijnen',
  92. 'FI' => 'Finland',
  93. 'FR' => 'Frankrijk',
  94. 'GF' => 'Frans-Guyana',
  95. 'PF' => 'Frans-Polynesië',
  96. 'TF' => 'Franse Zuidelijke en Antarctische Gebieden',
  97. 'GA' => 'Gabon',
  98. 'GM' => 'Gambia',
  99. 'GE' => 'Georgië',
  100. 'GH' => 'Ghana',
  101. 'GI' => 'Gibraltar',
  102. 'GD' => 'Grenada',
  103. 'GR' => 'Griekenland',
  104. 'GL' => 'Groenland',
  105. 'GP' => 'Guadeloupe',
  106. 'GU' => 'Guam',
  107. 'GT' => 'Guatemala',
  108. 'GG' => 'Guernsey',
  109. 'GN' => 'Guinee',
  110. 'GW' => 'Guinee-Bissau',
  111. 'GY' => 'Guyana',
  112. 'HT' => 'Haïti',
  113. 'HM' => 'Heard en McDonaldeilanden',
  114. 'HN' => 'Honduras',
  115. 'HU' => 'Hongarije',
  116. 'HK' => 'Hongkong',
  117. 'IE' => 'Ierland',
  118. 'IS' => 'IJsland',
  119. 'IN' => 'India',
  120. 'ID' => 'Indonesië',
  121. 'IQ' => 'Irak',
  122. 'IR' => 'Iran',
  123. 'IM' => 'Isle of Man',
  124. 'IL' => 'Israël',
  125. 'IT' => 'Italië',
  126. 'CI' => 'Ivoorkust',
  127. 'JM' => 'Jamaica',
  128. 'JP' => 'Japan',
  129. 'YE' => 'Jemen',
  130. 'JE' => 'Jersey',
  131. 'JO' => 'Jordanië',
  132. 'KY' => 'Kaaimaneilanden',
  133. 'CV' => 'Kaapverdië',
  134. 'CM' => 'Kameroen',
  135. 'KZ' => 'Kazachstan',
  136. 'KE' => 'Kenia',
  137. 'KG' => 'Kirgizië',
  138. 'KI' => 'Kiribati',
  139. 'UM' => 'Kleine Pacifische eilanden van de Verenigde Staten',
  140. 'KW' => 'Koeweit',
  141. 'HR' => 'Kroatië',
  142. 'LA' => 'Laos',
  143. 'LS' => 'Lesotho',
  144. 'LV' => 'Letland',
  145. 'LB' => 'Libanon',
  146. 'LR' => 'Liberia',
  147. 'LY' => 'Libië',
  148. 'LI' => 'Liechtenstein',
  149. 'LT' => 'Litouwen',
  150. 'LU' => 'Luxemburg',
  151. 'MO' => 'Macau',
  152. 'MK' => 'Macedonië',
  153. 'MG' => 'Madagaskar',
  154. 'MW' => 'Malawi',
  155. 'MV' => 'Maldiven',
  156. 'MY' => 'Maleisië',
  157. 'ML' => 'Mali',
  158. 'MT' => 'Malta',
  159. 'MA' => 'Marokko',
  160. 'MH' => 'Marshalleilanden',
  161. 'MQ' => 'Martinique',
  162. 'MR' => 'Mauritanië',
  163. 'MU' => 'Mauritius',
  164. 'YT' => 'Mayotte',
  165. 'MX' => 'Mexico',
  166. 'FM' => 'Micronesia',
  167. 'MD' => 'Moldavië',
  168. 'MC' => 'Monaco',
  169. 'MN' => 'Mongolië',
  170. 'ME' => 'Montenegro',
  171. 'MS' => 'Montserrat',
  172. 'MZ' => 'Mozambique',
  173. 'MM' => 'Myanmar',
  174. 'NA' => 'Namibië',
  175. 'NR' => 'Nauru',
  176. 'NL' => 'Nederland',
  177. 'AN' => 'Nederlandse Antillen',
  178. 'NP' => 'Nepal',
  179. 'NI' => 'Nicaragua',
  180. 'NC' => 'Nieuw-Caledonië',
  181. 'NZ' => 'Nieuw-Zeeland',
  182. 'NE' => 'Niger',
  183. 'NG' => 'Nigeria',
  184. 'NU' => 'Niue',
  185. 'KP' => 'Noord-Korea',
  186. 'MP' => 'Noordelijke Marianen',
  187. 'NO' => 'Noorwegen',
  188. 'NF' => 'Norfolk',
  189. 'UG' => 'Oeganda',
  190. 'UA' => 'Oekraïne',
  191. 'UZ' => 'Oezbekistan',
  192. 'OM' => 'Oman',
  193. 'TL' => 'Oost-Timor',
  194. 'AT' => 'Oostenrijk',
  195. 'PK' => 'Pakistan',
  196. 'PW' => 'Palau',
  197. 'PS' => 'Palestijnse Autoriteit',
  198. 'PA' => 'Panama',
  199. 'PG' => 'Papoea-Nieuw-Guinea',
  200. 'PY' => 'Paraguay',
  201. 'PE' => 'Peru',
  202. 'PN' => 'Pitcairneilanden',
  203. 'PL' => 'Polen',
  204. 'PT' => 'Portugal',
  205. 'PR' => 'Puerto Rico',
  206. 'QA' => 'Qatar',
  207. 'RO' => 'Roemenië',
  208. 'RU' => 'Rusland',
  209. 'RW' => 'Rwanda',
  210. 'RE' => 'Réunion',
  211. 'KN' => 'Saint Kitts en Nevis',
  212. 'LC' => 'Saint Lucia',
  213. 'VC' => 'Saint Vincent en de Grenadines',
  214. 'BL' => 'Saint-Barthélemy',
  215. 'PM' => 'Saint-Pierre en Miquelon',
  216. 'SB' => 'Salomonseilanden',
  217. 'WS' => 'Samoa',
  218. 'SM' => 'San Marino',
  219. 'ST' => 'Sao Tomé en Principe',
  220. 'SA' => 'Saoedi-Arabië',
  221. 'SN' => 'Senegal',
  222. 'RS' => 'Servië',
  223. 'SC' => 'Seychellen',
  224. 'SL' => 'Sierra Leone',
  225. 'SG' => 'Singapore',
  226. 'SH' => 'Sint-Helena',
  227. 'MF' => 'Sint-Maarten',
  228. 'SI' => 'Slovenië',
  229. 'SK' => 'Slowakije',
  230. 'SD' => 'Soedan',
  231. 'SO' => 'Somalië',
  232. 'ES' => 'Spanje',
  233. 'SJ' => 'Spitsbergen en Jan Mayen',
  234. 'LK' => 'Sri Lanka',
  235. 'SR' => 'Suriname',
  236. 'SZ' => 'Swaziland',
  237. 'SY' => 'Syrië',
  238. 'TJ' => 'Tadzjikistan',
  239. 'TW' => 'Taiwan',
  240. 'TZ' => 'Tanzania',
  241. 'TH' => 'Thailand',
  242. 'TG' => 'Togo',
  243. 'TK' => 'Tokelau-eilanden',
  244. 'TO' => 'Tonga',
  245. 'TT' => 'Trinidad en Tobago',
  246. 'TD' => 'Tsjaad',
  247. 'CZ' => 'Tsjechië',
  248. 'TN' => 'Tunesië',
  249. 'TR' => 'Turkije',
  250. 'TM' => 'Turkmenistan',
  251. 'TC' => 'Turks- en Caicoseilanden',
  252. 'TV' => 'Tuvalu',
  253. 'UY' => 'Uruguay',
  254. 'VU' => 'Vanuatu',
  255. 'VA' => 'Vaticaanstad',
  256. 'VE' => 'Venezuela',
  257. 'GB' => 'Verenigd Koninkrijk',
  258. 'AE' => 'Verenigde Arabische Emiraten',
  259. 'US' => 'Verenigde Staten',
  260. 'VN' => 'Vietnam',
  261. 'WF' => 'Wallis en Futuna',
  262. 'EH' => 'Westelijke Sahara',
  263. 'BY' => 'Wit-Rusland',
  264. 'ZM' => 'Zambia',
  265. 'ZW' => 'Zimbabwe',
  266. 'ZA' => 'Zuid-Afrika',
  267. 'GS' => 'Zuid-Georgië en de Zuidelijke Sandwicheilanden',
  268. 'KR' => 'Zuid-Korea',
  269. 'SE' => 'Zweden',
  270. 'CH' => 'Zwitserland',
  271. 'AX' => 'Aland'
  272. );
  273.  
  274. ?>
  275.  
  276. <select name="country" id="country">
  277. <?php foreach ($country_list as $key => $value) { ?>
  278. <option value="<?php echo $value; ?>" <?php echo (custom_field('country') == $value)? 'selected="selected"' : '' ?>><?php echo $value; ?></option> <?php }; ?>
  279. </select>
  280.  
  281. <label for="Website url">url</label>
  282. <input id="url" type="text" name="url" value="<?php echo custom_field('url'); ?>" />
  283.  
  284. <?php }
  285. // This saves the custom group meta – props to Boone for the function
  286. // Where $plain_fields = array.. you may add additional fields, eg
  287. // $plain_fields = array(
  288. // 'field-one',
  289. // 'field-two'
  290. // );
  291. function group_header_fields_save( $group_id ) {
  292. global $bp, $wpdb;
  293. $plain_fields = array(
  294. 'country','url'
  295. );
  296. foreach( $plain_fields as $field ) {
  297. $key = $field;
  298. if ( isset( $_POST[$key] ) ) {
  299. $value = $_POST[$key];
  300. groups_update_groupmeta( $group_id, $field, $value );
  301. }
  302. }
  303. }
  304. add_filter( 'groups_custom_group_fields_editable', 'group_header_fields_markup' );
  305. add_action( 'groups_group_details_edited', 'group_header_fields_save' );
  306. add_action( 'groups_created_group', 'group_header_fields_save' );
  307.  
  308. // Show the custom field in the group header
  309. function show_field_in_header( ) {
  310. echo "<p> Country:" . custom_field('country') . "</p>";
  311. echo "<p> Site URL:" . custom_field('url'). "</p>";
  312. }
  313. add_action('bp_group_header_meta' , 'show_field_in_header') ;
  314. }
  315. add_action( 'bp_include', 'bp_group_meta_init' );
  316. /* If you have code that does not need BuddyPress to run, then add it here. */
  317. ?>
Advertisement
Add Comment
Please, Sign In to add comment