Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: Favorite Color
- Plugin URI: http://MyWebsite.com
- Description: Let Groups Pick their favorite Color
- Version: 1.0
- Requires at least: 3.3
- Tested up to: 3.3.1
- License: GPL3
- Author: Your Name
- Author URI: http://YourCoolWebsite.com
- */
- function bp_group_meta_init() {
- function custom_field($meta_key='') {
- //get current group id and load meta_key value if passed. If not pass it blank
- return groups_get_groupmeta( bp_get_group_id(), $meta_key) ;
- }
- //code if using seperate files require( dirname( __FILE__ ) . '/buddypress-group-meta.php' );
- // This function is our custom field's form that is called in create a group and when editing group details
- function group_header_fields_markup() {
- global $bp, $wpdb;?>
- <label for="favorite-color">My Favorite Color</label>
- <input id="favorite-color" type="text" name="favorite-color" value="<?php echo custom_field('favorite-color'); ?>" />
- <br>
- <label for="favorite-color2">My Favorite Color 2</label>
- <input type="checkbox" name="favorite-color2" value="1" <?php if (custom_field('favorite-color2')) echo 'checked="checked"'; ?>/>
- <br>
- <label>
- <input type="radio" name="favorite-color3" value="" <?php if (!custom_field('favorite-color2')) echo 'checked="checked"'; ?> />
- Default</label>
- <br />
- <label>
- <input type="radio" name="favorite-color3" value="1" <?php if (custom_field('favorite-color2')) echo 'checked="checked"'; ?> />
- Other</label>
- <br>
- <?php }
- // This saves the custom group meta – props to Boone for the function
- // Where $plain_fields = array.. you may add additional fields, eg
- // $plain_fields = array(
- // 'field-one',
- // 'field-two'
- // );
- function group_header_fields_save( $group_id ) {
- global $bp, $wpdb;
- $plain_fields = array(
- 'favorite-color',
- 'favorite-color2',
- 'favorite-color3'
- );
- foreach( $plain_fields as $field ) {
- $key = $field;
- if ( isset( $_POST[$key] ) ) {
- $value = $_POST[$key];
- groups_update_groupmeta( $group_id, $field, $value );
- }
- }
- }
- add_filter( 'groups_custom_group_fields_editable', 'group_header_fields_markup' );
- add_action( 'groups_group_details_edited', 'group_header_fields_save' );
- add_action( 'groups_created_group', 'group_header_fields_save' );
- // Show the custom field in the group header
- function show_field_in_header( ) {
- echo "<p> My favorite color is:" . custom_field('favorite-color') . "</p>";
- if (custom_field('favorite-color2')) { echo '<p>off</p>'; } else { echo '<p>on</p>'; };
- if (custom_field('favorite-color2')) { echo '<p>Other</p>'; } else { echo '<p>Default</p>'; };
- }
- add_action('bp_group_header_meta' , 'show_field_in_header') ;
- }
- add_action( 'bp_include', 'bp_group_meta_init' );
- /* If you have code that does not need BuddyPress to run, then add it here. */
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement