Skip to:
Content
Pages
Categories
Search
Top
Bottom

Search Results for 'profile fields'

Viewing 25 results - 1,451 through 1,475 (of 5,755 total)
  • Author
    Search Results
  • #247248
    Pagliocco
    Participant

    Was working on custom profile fields for BP – essentially adding required fields to the registration page – with 0 problem

    Randomly – stuff died.

    Went on the support and did a search, he’s what I’ve tried so far.

    – Have reinstalled buddypress – nothing
    – Have made sure to modify memory limits on SiteGround – set at 256 mb
    – Reset the memory , then reinstalled – nothing
    – Made a php info page to verify : myodphi.omegadeltaphi.com/phpinfo.php
    – Tried disabling jetpack for conflict – nothing

    So when I rename the BP plugin folder to something else – WP admin comes up fine.
    Minute I rename it back to BP – site white screens

    Now earlier today , when I was looking at fixes, the first time i renamed the BP folder to BP_old, then renamed it back to BP – site came back up fine.

    Checked error logs , no errors, just notices – nothing fatal there, no memory warnings,etc

    Thoughts?

    #247218
    ShMk
    Participant

    I know that Base group are shown in the Registration Form, but I have to add over 30 fields during registration so if they could be logically separated from the base group during registration and inside the user profile would be of great help for the customer.

    #247213
    @mercime
    Participant

    @shmk profile fields you add in the Base Field Group shows up in the Registration Form https://codex.buddypress.org/administrator-guide/extended-profiles/

    #247212
    ShMk
    Participant

    Hello,
    I can add profile field groups to a user profile, but is it possible to add them also in the registration page so their fields could be filled during registration?

    Thanks!

    #247159
    Henry Wright
    Moderator

    Hi @koreancandy

    Looking at the Name and Location profile fields, they’re also linked? To remove these links, check out the bp-custom.php article.

    MamasLT
    Participant

    Hi. I have set the registration profile fields to be shown only to the user, but no, after buddypress update to 2.4, this setting does not work anymore, as when they go to registration page, they can select which fields they want to show to whom. How do I remove that option for them/make it as it was before?
    Cheers

    #246983
    ShaneValiant
    Participant

    @doublef

    Here is the latest error log:

    PHP message: WordPress database error Table ‘mysitename.wp_16_bp_xprofile_groups’ doesn’t exist for query SELECT DISTINCT g.id FROM wp_16_bp_xprofile_groups g WHERE g.id = 0 ORDER BY g.group_order ASC made by require(‘wp-blog-header.php’), require_once(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), do_action(‘init’), call_user_func_array, bp_init, do_action(‘bp_init’), call_user_func_array, woffice_social_fields, xprofile_insert_field_group, BP_XProfile_Group->__construct, BP_XProfile_Group->populate, BP_XProfile_Group::get
    PHP message: WordPress database error Table ‘mysitename.wp_16_bp_xprofile_groups’ doesn’t exist for query INSERT INTO wp_16_bp_xprofile_groups (name, description, can_delete) VALUES (‘Social’, ”, 1) made by require(‘wp-blog-header.php’), require_once(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), do_action(‘init’), call_user_func_array, bp_init, do_action(‘bp_init’), call_user_func_array, woffice_social_fields, xprofile_insert_field_group, BP_XProfile_Group->save
    PHP message: WordPress database error Table ‘mysitename.wp_16_bp_xprofile_groups’ doesn’t exist for query SELECT * FROM wp_16_bp_xprofile_groups WHERE name = ‘CoverOptions’; made by require(‘wp-blog-header.php’), require_once(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), do_action(‘init’), call_user_func_array, bp_init, do_action(‘bp_init’), call_user_func_array, woffice_cover_add_field
    PHP message: WordPress database error Table ‘mysitename

    #246971
    shanebp
    Moderator

    Tricky task… I don’t envy your use case testing!

    BP uses the WP user – but stores profile data separately. But some fields are duplicated – like name.

    You may have to write profile data to both user meta and xprofile tables.
    And then use a conditional re whether the BP Extended Profiles component is enabled.
    If it isn’t, then pull from user meta, etc.

    More info:

    xprofile_sync_wp_profile() syncs Xprofile data (nickname, first name and last name) to the standard built in WordPress profile data.

    xprofile_sync_bp_profile() syncs the standard built in WordPress profile data to XProfile.

    #246908
    froster2
    Participant

    This is a quick fix until https://buddypress.trac.wordpress.org/ticket/5373 is resolved and should only be used with caution as it edits core files. Future updates should be changed file by file. Not recommended for everyone!

    Remove following code from buddypress/bp-members/bp-members-screens.php Line 129 – 154

    		// Now we've checked account details, we can check profile information.
    		if ( bp_is_active( 'xprofile' ) ) {
    
    			// Make sure hidden field is passed and populated.
    			if ( isset( $_POST['signup_profile_field_ids'] ) && !empty( $_POST['signup_profile_field_ids'] ) ) {
    
    				// Let's compact any profile field info into an array.
    				$profile_field_ids = explode( ',', $_POST['signup_profile_field_ids'] );
    
    				// Loop through the posted fields formatting any datebox values then validate the field.
    				foreach ( (array) $profile_field_ids as $field_id ) {
    					if ( !isset( $_POST['field_' . $field_id] ) ) {
    						if ( !empty( $_POST['field_' . $field_id . '_day'] ) && !empty( $_POST['field_' . $field_id . '_month'] ) && !empty( $_POST['field_' . $field_id . '_year'] ) )
    							$_POST['field_' . $field_id] = date( 'Y-m-d H:i:s', strtotime( $_POST['field_' . $field_id . '_day'] . $_POST['field_' . $field_id . '_month'] . $_POST['field_' . $field_id . '_year'] ) );
    					}
    
    					// Create errors for required fields without values.
    					if ( xprofile_check_is_required_field( $field_id ) && empty( $_POST[ 'field_' . $field_id ] ) && ! bp_current_user_can( 'bp_moderate' ) )
    						$bp->signup->errors['field_' . $field_id] = __( 'This is a required field', 'buddypress' );
    				}
    
    			// This situation doesn't naturally occur so bounce to website root.
    			} else {
    				bp_core_redirect( bp_get_root_domain() );
    			}
    		}

    Remove following code from buddypress/bp-members/bp-members-screens.php Line 204 – 231

    				// Make sure the extended profiles module is enabled.
    				if ( bp_is_active( 'xprofile' ) ) {
    					// Let's compact any profile field info into usermeta.
    					$profile_field_ids = explode( ',', $_POST['signup_profile_field_ids'] );
    
    					// Loop through the posted fields formatting any datebox values then add to usermeta - @todo This logic should be shared with the same in xprofile_screen_edit_profile().
    					foreach ( (array) $profile_field_ids as $field_id ) {
    						if ( ! isset( $_POST['field_' . $field_id] ) ) {
    
    							if ( ! empty( $_POST['field_' . $field_id . '_day'] ) && ! empty( $_POST['field_' . $field_id . '_month'] ) && ! empty( $_POST['field_' . $field_id . '_year'] ) ) {
    								// Concatenate the values.
    								$date_value = $_POST['field_' . $field_id . '_day'] . ' ' . $_POST['field_' . $field_id . '_month'] . ' ' . $_POST['field_' . $field_id . '_year'];
    
    								// Turn the concatenated value into a timestamp.
    								$_POST['field_' . $field_id] = date( 'Y-m-d H:i:s', strtotime( $date_value ) );
    							}
    						}
    
    						if ( !empty( $_POST['field_' . $field_id] ) )
    							$usermeta['field_' . $field_id] = $_POST['field_' . $field_id];
    
    						if ( !empty( $_POST['field_' . $field_id . '_visibility'] ) )
    							$usermeta['field_' . $field_id . '_visibility'] = $_POST['field_' . $field_id . '_visibility'];
    					}
    
    					// Store the profile field ID's in usermeta.
    					$usermeta['profile_field_ids'] = $_POST['signup_profile_field_ids'];
    				}

    Remove following code from buddypress/bp-templates/bp-legacy/buddypress/members/register.php Line 143 – 247

    			<?php if ( bp_is_active( 'xprofile' ) ) : ?>
    
    				<?php
    
    				/**
    				 * Fires before the display of member registration xprofile fields.
    				 *
    				 * @since 1.2.4
    				 */
    				do_action( 'bp_before_signup_profile_fields' ); ?>
    
    				<div class="register-section" id="profile-details-section">
    
    					<h4><?php _e( 'Profile Details', 'buddypress' ); ?></h4>
    
    					<?php /* Use the profile field loop to render input fields for the 'base' profile field group */ ?>
    					<?php if ( bp_is_active( 'xprofile' ) ) : if ( bp_has_profile( array( 'profile_group_id' => 1, 'fetch_field_data' => false ) ) ) : while ( bp_profile_groups() ) : bp_the_profile_group(); ?>
    
    					<?php while ( bp_profile_fields() ) : bp_the_profile_field(); ?>
    
    						<div<?php bp_field_css_class( 'editfield' ); ?>>
    
    							<?php
    							$field_type = bp_xprofile_create_field_type( bp_get_the_profile_field_type() );
    							$field_type->edit_field_html();
    
    							/**
    							 * Fires before the display of the visibility options for xprofile fields.
    							 *
    							 * @since 1.7.0
    							 */
    							do_action( 'bp_custom_profile_edit_fields_pre_visibility' );
    
    							if ( bp_current_user_can( 'bp_xprofile_change_field_visibility' ) ) : ?>
    								<p class="field-visibility-settings-toggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
    									<?php
    									printf(
    										__( 'This field can be seen by: %s', 'buddypress' ),
    										'<span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>'
    									);
    									?>
    									<a href="#" class="visibility-toggle-link"><?php _ex( 'Change', 'Change profile field visibility level', 'buddypress' ); ?></a>
    								</p>
    
    								<div class="field-visibility-settings" id="field-visibility-settings-<?php bp_the_profile_field_id() ?>">
    									<fieldset>
    										<legend><?php _e( 'Who can see this field?', 'buddypress' ) ?></legend>
    
    										<?php bp_profile_visibility_radio_buttons() ?>
    
    									</fieldset>
    									<a class="field-visibility-settings-close" href="#"><?php _e( 'Close', 'buddypress' ) ?></a>
    
    								</div>
    							<?php else : ?>
    								<p class="field-visibility-settings-notoggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
    									<?php
    									printf(
    										__( 'This field can be seen by: %s', 'buddypress' ),
    										'<span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>'
    									);
    									?>
    								</p>
    							<?php endif ?>
    
    							<?php
    
    							/**
    							 * Fires after the display of the visibility options for xprofile fields.
    							 *
    							 * @since 1.1.0
    							 */
    							do_action( 'bp_custom_profile_edit_fields' ); ?>
    
    							<p class="description"><?php bp_the_profile_field_description(); ?></p>
    
    						</div>
    
    					<?php endwhile; ?>
    
    					<input type="hidden" name="signup_profile_field_ids" id="signup_profile_field_ids" value="<?php bp_the_profile_field_ids(); ?>" />
    
    					<?php endwhile; endif; endif; ?>
    
    					<?php
    
    					/**
    					 * Fires and displays any extra member registration xprofile fields.
    					 *
    					 * @since 1.9.0
    					 */
    					do_action( 'bp_signup_profile_fields' ); ?>
    
    				</div><!-- #profile-details-section -->
    
    				<?php
    
    				/**
    				 * Fires after the display of member registration xprofile fields.
    				 *
    				 * @since 1.1.0
    				 */
    				do_action( 'bp_after_signup_profile_fields' ); ?>
    
    			<?php endif; ?>

    Remove following code from buddypress/bp-themes/bp-default/registration/register.php Line 61 – 207

    				<?php if ( bp_is_active( 'xprofile' ) ) : ?>
    
    					<?php do_action( 'bp_before_signup_profile_fields' ); ?>
    
    					<div class="register-section" id="profile-details-section">
    
    						<h4><?php _e( 'Profile Details', 'buddypress' ); ?></h4>
    
    						<?php /* Use the profile field loop to render input fields for the 'base' profile field group */ ?>
    						<?php if ( bp_is_active( 'xprofile' ) ) : if ( bp_has_profile( array( 'profile_group_id' => 1, 'fetch_field_data' => false ) ) ) : while ( bp_profile_groups() ) : bp_the_profile_group(); ?>
    
    						<?php while ( bp_profile_fields() ) : bp_the_profile_field(); ?>
    
    							<div class="editfield">
    
    								<?php if ( 'textbox' == bp_get_the_profile_field_type() ) : ?>
    
    									<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
    									<?php do_action( bp_get_the_profile_field_errors_action() ); ?>
    									<input type="text" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" value="<?php bp_the_profile_field_edit_value(); ?>" />
    
    								<?php endif; ?>
    
    								<?php if ( 'textarea' == bp_get_the_profile_field_type() ) : ?>
    
    									<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
    									<?php do_action( bp_get_the_profile_field_errors_action() ); ?>
    									<textarea rows="5" cols="40" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_edit_value(); ?></textarea>
    
    								<?php endif; ?>
    
    								<?php if ( 'selectbox' == bp_get_the_profile_field_type() ) : ?>
    
    									<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
    									<?php do_action( bp_get_the_profile_field_errors_action() ); ?>
    									<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>">
    										<?php bp_the_profile_field_options(); ?>
    									</select>
    
    								<?php endif; ?>
    
    								<?php if ( 'multiselectbox' == bp_get_the_profile_field_type() ) : ?>
    
    									<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
    									<?php do_action( bp_get_the_profile_field_errors_action() ); ?>
    									<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" multiple="multiple">
    										<?php bp_the_profile_field_options(); ?>
    									</select>
    
    								<?php endif; ?>
    
    								<?php if ( 'radio' == bp_get_the_profile_field_type() ) : ?>
    
    									<div class="radio">
    										<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
    
    										<?php do_action( bp_get_the_profile_field_errors_action() ); ?>
    										<?php bp_the_profile_field_options(); ?>
    
    										<?php if ( !bp_get_the_profile_field_is_required() ) : ?>
    											<a class="clear-value" href="javascript:clear( '<?php bp_the_profile_field_input_name(); ?>' );"><?php _e( 'Clear', 'buddypress' ); ?></a>
    										<?php endif; ?>
    									</div>
    
    								<?php endif; ?>
    
    								<?php if ( 'checkbox' == bp_get_the_profile_field_type() ) : ?>
    
    									<div class="checkbox">
    										<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
    
    										<?php do_action( bp_get_the_profile_field_errors_action() ); ?>
    										<?php bp_the_profile_field_options(); ?>
    									</div>
    
    								<?php endif; ?>
    
    								<?php if ( 'datebox' == bp_get_the_profile_field_type() ) : ?>
    
    									<div class="datebox">
    										<label for="<?php bp_the_profile_field_input_name(); ?>_day"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
    										<?php do_action( bp_get_the_profile_field_errors_action() ); ?>
    
    										<select name="<?php bp_the_profile_field_input_name(); ?>_day" id="<?php bp_the_profile_field_input_name(); ?>_day">
    											<?php bp_the_profile_field_options( 'type=day' ); ?>
    										</select>
    
    										<select name="<?php bp_the_profile_field_input_name(); ?>_month" id="<?php bp_the_profile_field_input_name(); ?>_month">
    											<?php bp_the_profile_field_options( 'type=month' ); ?>
    										</select>
    
    										<select name="<?php bp_the_profile_field_input_name(); ?>_year" id="<?php bp_the_profile_field_input_name(); ?>_year">
    											<?php bp_the_profile_field_options( 'type=year' ); ?>
    										</select>
    									</div>
    
    								<?php endif; ?>
    
    								<?php if ( 'url' == bp_get_the_profile_field_type() ) : ?>
    
    									<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
    									<input type="text" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" value="<?php bp_the_profile_field_edit_value(); ?>" <?php if ( bp_get_the_profile_field_is_required() ) : ?>aria-required="true"<?php endif; ?>/>
    
    								<?php endif; ?>
    
    								<?php do_action( 'bp_custom_profile_edit_fields_pre_visibility' ); ?>
    
    								<?php if ( bp_current_user_can( 'bp_xprofile_change_field_visibility' ) ) : ?>
    									<p class="field-visibility-settings-toggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
    										<?php printf( __( 'This field can be seen by: <span class="current-visibility-level">%s</span>', 'buddypress' ), bp_get_the_profile_field_visibility_level_label() ) ?> <a href="#" class="visibility-toggle-link"><?php _ex( 'Change', 'Change profile field visibility level', 'buddypress' ); ?></a>
    									</p>
    
    									<div class="field-visibility-settings" id="field-visibility-settings-<?php bp_the_profile_field_id() ?>">
    										<fieldset>
    											<legend><?php _e( 'Who can see this field?', 'buddypress' ) ?></legend>
    
    											<?php bp_profile_visibility_radio_buttons() ?>
    
    										</fieldset>
    										<a class="field-visibility-settings-close" href="#"><?php _e( 'Close', 'buddypress' ) ?></a>
    
    									</div>
    								<?php else : ?>
    									<p class="field-visibility-settings-notoggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
    										<?php printf( __( 'This field can be seen by: <span class="current-visibility-level">%s</span>', 'buddypress' ), bp_get_the_profile_field_visibility_level_label() ) ?>
    									</p>
    								<?php endif ?>
    
    								<?php do_action( 'bp_custom_profile_edit_fields' ); ?>
    
    								<p class="description"><?php bp_the_profile_field_description(); ?></p>
    
    							</div>
    
    						<?php endwhile; ?>
    
    						<input type="hidden" name="signup_profile_field_ids" id="signup_profile_field_ids" value="<?php bp_the_profile_group_field_ids(); ?>" />
    
    						<?php endwhile; endif; endif; ?>
    
    						<?php do_action( 'bp_signup_profile_fields' ); ?>
    
    					</div><!-- #profile-details-section -->
    
    					<?php do_action( 'bp_after_signup_profile_fields' ); ?>
    
    				<?php endif; ?>
    #246858
    r-a-y
    Keymaster

    Are you using BuddyPress Multilingual as well?

    My guess is that BuddyPress has newer translation strings in v2.4.0 and you’ll need to update the BuddyPress-specific strings on your WPML install to reflect that.

    Read their “Translating profile fields” tutorial:

    BuddyPress Multilingual

    They also have a support forum here:
    https://wpml.org/forums/topic-tag/buddypress/

    It might be that their plugin will need to be updated.

    If it ends up that this is indeed a BuddyPress problem, please let us know.

    #246843
    doubleF
    Participant

    Hi @r-a-y,

    Here is the function :

    function woffice_birthdays_add_field() {
    	
    	if ( bp_is_active( 'xprofile' ) ){
    		global $bp;
    		global $wpdb;
    		// We check for multisite : 
    	    if (is_multisite() && is_main_site()) {
    		    $table_name = $wpdb->base_prefix .'bp_xprofile_fields';
    	    } else {
    	    	$table_name = $wpdb->prefix .'bp_xprofile_fields';
    	    }
    	    $sqlStr = "SELECT <code>id</code> FROM $table_name WHERE <code>name</code> = 'Birthday'";
    	    $field = $wpdb->get_results($sqlStr);
    	    if(count($field) > 0)
    	    {
    	        return;
    	    }
    		xprofile_insert_field(
    	        array (
    	        	'field_group_id'  => 1,
    	            'field_id' => 'woffice_birthday',
    				'can_delete' => true,
    				'type' => 'datebox',
    				'description' => __('We will only use it for the Birthday widget, so we can celebrate everyone\s birthday.','woffice'),
    				'name' => 'Birthday',
    				'field_order'     => 1,
    				'is_required'     => false,
    	        )
    	    );
    	 }
    	 
    }		
    add_action('bp_init', 'woffice_birthdays_add_field');

    I’m able to reproduce it so I’ll try to troubleshoot it now 😉 I keep you updated,

    2F

    #246823
    ml413
    Participant

    Hi,
    I’m new to Buddypress (but not WordPress), so I may be missing something obvious here. Our client wants to have several user profile fields that allow users to type in what are essentially tags, e.g., which instruments they play from possibly hundreds of instruments. WordPress tags are perfect for this. They provide an input field with autocompletion, sorting and indexing, auto-generated pages for tags, and so on. WordPress tags also can be set up so that only admin/editor user types can add new tags (e.g., so a basic user doesn’t accidentally add a ‘paino’ tag instead of ‘piano’ as an instrument).

    I can get this working on the default WordPress user profile by creating a custom taxonomy. However, the default profile fields don’t show up when a normal user edits their buddypress profile.

    So I guess there are two questions:

    1.) Is there already a way to incorporate tags/taxonomies in a Buddypress profile? The only thing I’m seeing is a text box, but that probably wouldn’t have autocomplete, loses the searchability and sortability of tags, etc. The checkbox and multi-select options will be tough since they may need to pick 6 items out of a few thousand (one of these will be languages, and there are around 7,000 of them!).

    2.) If not, is there any documentation or examples of how to get a standard user profile field to show up in Buddypress’ member profile? I’m definitely willing to try custom coding to get it working.

    Thanks in advance for any input or suggestions!

    #246806
    Michael Kracke
    Participant

    I have an issue that the ‘Name (Primary) (Required)’ field is repeating itself 7x and I cannot get it to delete. Any Ideas?

    #246800
    r-a-y
    Keymaster

    @doublef – It’s probably a problem with the way your team has coded the Birthday plugin.

    Can you post the relevant lines where you are creating the profile fields?

    #246791
    doubleF
    Participant

    Hi @Sweeny,

    Woffice developer team here !

    Do you have any ticket open here : https://2f.ticksy.com/ ? Please send us some access to your website so our team can figure out what’s going on 😉

    The issues is also present with some other themes but it seems to be caused by the Birthday extension. As we create new Xprofile fields, but if was working fine before 2.4.0 and we can’t reproduce it.

    That’s why we need more details 🙂

    Thanks @r-a-y btw !

    Cheers

    2F

    #246770
    Rami
    Participant

    Hello,

    I’m using the KLEO theme, latest version, and Buddypress 2.4.0.
    1) When going to wp-admin Users – Profile Fields – , the tabs have a broken style (only the Primary tab appears correctly, the other ones are there but with no names and small, kind of a css problem)
    2) In both wp-admin and the front-end (edit profile), the checkboxes and radio buttons dissappeared. You can see the options, but no radio or checkbox on the side.

    It happens only with Buddypress 2.4.0. As soon as I went back to 2.3.5, everything worked perfectly again.

    I presume it’s a conflict with the KLEO theme, if not everyone should have reported this. I couldn’t find the source of the problem 🙁

    Cheers
    Rami

    #246768
    bum2
    Participant

    We’ve updated to 2.4 but the checkboxes and radiobuttons in our register page have disappeared without any markup, error or debug log… In the forms, only text fields and textareas are shown.
    After trying to deactivate many plugins, finally the only solution i’ve found is to revert buddypress to the 2.3.5, so we must wait to find a solution with the register form items…
    Is the 2.4 working good for everybody except us? maybe is failing only in our particular combination of theme (x) and plugins…
    Thanks a lot for keeping this plugin alive!

    #246718
    Antipole
    Participant

    Thank you to all who have helped and especially @danbp who took time to explain things at length.
    I have finally grasped how this thing works, more or less.

    I do need to apply the same quite complex filter to both the profile and directory list. I have now devised a common filter function plugin that can be invoked within the members loop as a filter and within the profile display as an action. I have to call it in different ways, depending on where it is being called from, and the trick was to call it from two separate hookable functions. The core of what I have follows:

    
    // Remove standard filtering of profile fields
    function ovni_init() {
    	remove_filter( 'bp_get_the_profile_field_value', 'xprofile_filter_link_profile_data', 9, 2 );
    	}
    add_action( 'bp_init', 'ovni_init' );
    
    // add our replacement filter, which is given a field value, to the members loop
    function ovni_filter_field_for_directory($field_value){
    	$field_name=bp_get_the_profile_field_name();
    	return ovni_get_field_searchable($field_name);
    	}
    add_filter( 'bp_get_the_profile_field_value', 'ovni_filter_field_for_directory', 50, 1 );
    
    // add fields to directory listing make them searchable according to rules of this plugin
    function ovni_add_info_to_members_loop() {
    	echo '<div style="position: absolute; left:60px;">', ovni_get_field_searchable('Ovni model'),'</div>';
    	echo '<div style="position: absolute; left:100px;">', ovni_get_field_searchable('Rig'),'</div>';
    	echo '<div style="position: absolute; left:275px;">', ovni_get_field_searchable('Home waters'),'</div>';
    	echo '<div style="position: absolute; left:500px;">', ovni_get_field_searchable('Home port'),'</div>';
    
    }
    add_action( 'bp_directory_members_item', 'ovni_add_info_to_members_loop' );
    
    // the fuction that makes fields searchable according to the rules of this plugin
    function ovni_get_field_searchable($field_name) {	
    	global $ovni_no_link_fields, $ovni_social_networking_fields;
    	$field_value = xprofile_get_field_data($field_name, bp_get_member_user_id() );
    	
    	if ( $field_value) { // only if there is content in the field
    		if (is_array($field_value)){
    etc. etc.

    I have not included the code of my filter, but it is changing the way text in profile fields are turned into links, both when displayed in the directory entry and in the members list, thus:

    (1) If is an array, serialise into a comma-separated string
    (as used in outputing which social web sites a mobile number can be used for)
    (2) If is an image, change HTML so that clicking on image will open full size in new tab/window
    (3) If any field contians text in [ ], the contents of the [ ] pairs are turned into separate directory searches.
    So if the entire text is in [ ] it overrides all other rules
    (4) Fields in the list of ‘do not link’ fields are left plain
    (5) The user’s web site is converted to its URL
    (6) Fields containing social network user names are turned into links to those networks
    (7) The remaining are turned into links to search the directory for matches.

    It has been a learning curve. My formative programming of this type was in the language B (the antecedent of C), which shows how far back I go!

    thanks again for the help, Tony

    #246705
    scoobs2000
    Participant

    Hi
    in short everything you have asked can be done.

    But I’m a little bias as I honestly believe regarding technology there is nothing that can’t be achieved it just comes down to how much time and budget you have to invest… 🙂

    Below is a bit of a ramble…. But might provide insight. after you organize your coffee and come back.

    I have nearly completed a project that sounds similar in nature (few weeks from launch in final beta testing), however it was a highly customised solution (private membership site) .
    With nearly 70 plugins, 100’s hours coding integration code (lots of trial and error) between the plugins and also compatibility tests with multiples of plugins to ensure no issues, because of slow load times the project requires deploying from CDN,fast servers and customised caching solutions.
    most of work load appeasr to be bbpress – so an near out of the box solution, you prob don’t need to go that far.

    But not to scare you. Here are some pointers that might answer your questions, based on my understanding of the OP.

    In my case I spent many months researching solutions with many platforms (open source / paid / managed premium) – buddy press was selected simply because is built on WordPress that’s already has the core abilities you need, you just need to “hook in to’em” and take advantage of this concept – you can keep working on bettering and adding separate components / features as time goes by, great for client, works out a bit cheaper in the startup phase and great for developer – land ya self a permanent support / ongoing development contract……

    Is it possible to update profile content/meta? : In general yes, buddy press allows this out of the box

    Either the user or the admin can update, you can have admin only fields (the user doesn’t access them – but the admin can)
    if you use a membership plugin eg, s2member – you can extend this idea much further eg, only require email on signup, then all other fields are accessible from profile and can set fields on a per membership level,

    In your case, you might have different profile fields for students, teachers, Parents and only require a couple of basic fields to be completed on signup and all other fields can still be “required” when they reach their profile page.
    For profile field management I recommend the s2membership pro plugin (free version available) http://s2member.com/

    My project has a “todo list” for each and every member – however I’m still to this day unable to find a plugin that interacts with a completed wp/bbp/buddypress site. So I had to code one. The todo list was designed / engineered in a way that interacts with “wordpress” in general, by storing a completely unique data feed much like the activity feed with time stamps and can be programmed to be linked to any site link, media download, page view, forum post, reply any activity on the site can be logged and applied to the feed which the to-do-list interacts with and auto completing (crossing of the item) each item also has dependencies, so you rattle off a list of activities before the task is crossed off and each to-do-list also has dependencies so it is not seen by a user until certain tasks are completed, eg, purchase a course from the store, or complete a previous to-do-list.

    In short: Yes it can be done, however I’m not aware of any 3rd party plugin that does this successfully.

    In my case I have the to-do-list shown in the sidebar so as a member goes through the tasks the list is also available to them no matter what page they are on. But possible to publish it in the profile page if required.

    Regarding email notices, I recommend looking into the woo commerce sensei http://www.woothemes.com/products/sensei/ plugin for your courses that way you have management of email notices, in fact prob most of the things you require will be available via sensei – note this is a premium paid plugin with yearly ongoing licence costs.
    Without a free trial version to try before you buy.

    But maybe gravity forms developer licence might be fine in your case as it has, gateway plugins, qiz and survey plugins – it would be possible to build certain simple courses on the gravity framework including delivery of custom emails – if building a form based system than certainly worth a look into – but would require a developers licence to get all the plugins you would prob require.

    In fact what I do is use gravity forms email chimp plugin to send the members email address to an email list (automation campaign) in mail chimp (paid account) that auto sends a welcome emails that I have customize to suit the activity they have completed, this way I can send pretty html + marketing emails + scheduled follow up emails and take the work load off WordPress other than a quick API connect on demand.

    Regarding: is it possible to have multiple logins or users access the same account/profile?
    In simple: Yes, but it all comes to context of the profile, will each member be able to see other members profiles or will parents be able to edit a child profile etc.

    Although my project does not require the need for 2 or more members to edit a single profile, I do have multiple levels of context (horizontal and vertical memberships) all with their own set of rules who profiles they can see and what buddypress features are available to them – some members don’t have activity feeds or messages, But I needed to ensure that members that do have access to these features can’t access the features of cross membership and so on.

    This is 100% custom code (no plugin) but while coding this up I recall thinking I’m 100% confident it is possible to add another level of check “if current user can edit displayed user” and go from there, all you would need is a profile field / meta that links multiple accounts together –
    Eg, a parent account has a profiled field “child user name” – they just enter the child username / user ID – and now we would add the profile check if a parent is viewing the child’s profile.

    Regarding paying a deposit, and payment, this is my findings.

    There was no single one membership / payment plugin that integrated perfectly into what I wished to achieve – I have tested many. please note I’m suggesting there are no plugins that do this stuff just none that achieved the outcomes I needed for my project.

    – Tips: – start the project design based on the payment systems / gateway (the complete project and direction of development is 100% dependent on this) because the simple reason every feature you implement needs to check “is a paid member and what level (cap / role) ” – including free membership with paid features “is not a paid member” but has paid for… this includes recurring and non-recurring subscriptions with consideration of what you intend to do if a subscription expires.

    Eg, a recurring subscription will either just auto subscribe and pay for the next time frame (or fail)
    A non-reoccurring subscription will auto expire after a given time frame (or X cycles)

    The difference between to the two –
    Is generally on a recurring subscription when it expires it also linked to a member account to “do something” eg downgrade membership

    A non-recurring subscription is generally used for a onetime payment you have access forever feature- eg, a course and resources, you pay once on a deposit, subscription over several weeks when the subscription expires the member still has access to the course as long as they remain at minimum a free member on the site. (anyhow that’s how I have implemented things)

    These two concepts are completely different in the way they interact with the member as well at many levels although on the surface appear to be almost the same, add in a deposit feature you are also opening another level of context to play with, mostly limiting the available options regarding the payment gateway service you will need to use or more so which services have this feature on offer.

    As mentioned – my suggestion is start with the gateway solutions first and reverse the design back to the front end. – this is the big lesson I took away with this project (4 rewrites in total) as it was always a block relating to the gateway limitations (and laws relating to online subscriptions in my country).

    My project:
    Woo commerce (free) for shopping cart system including purchase of courses, subscription to site and deposit/ subscription to courses, plus all other products, deliverable products, workshops, webinars, one on one sessions, resource downloads from pdf to videos. Anything you can think off can be sold through woo

    Woo commerce quick cart – plugin (paid)– now I can add a buy now button on any page for any product including subscriptions – the membership info page has a standard 3 column price comparison chart with nothing more than a “sign up now” button – clicking the button auto adds the subscription to cart and opens the checkout popup with one click and without leaving the page (no need to send to store)

    Sensei (paid)– for courses and fits well into woo commerce system (but requires a couple more plugins and custom integration code if implementing paid / subscription based courses )

    Groups plugin (free) to easily manage roles and caps (as I have to teach client staff how to do this and manage the site) WordPress has this capability built in if your a coding ninja (I’m not)

    Groups Woo commerce (paid plugin) to link groups to a purchase – apply a role / cap or groups of, to a user based on the purchase.

    Then some custom code is required – to perform a check and if a user has a particular role or cap than apply the s2membership level – this check is done at the store level so if a member cancels or defaults on a payment – the membership level is auto adjusted depending on what role or cap is supplied to the user from the groups woo commerce automation. groups plugin manages non-recurring subscriptions so a expired subscription does not remove the users caps and roles (but a default on payment does)

    S2member pro – for membership level management including profile fields management and most importantly complete site access management – I can apply access to each and every competent of the site this includes , forums, topics, replies, posts, pages, media, courses, and content within pages eg, home page displays different content based on the membership level / logged in or general public. s2member pro is also used to override default bbpress / buddy visibility settings eg, hidden forums only available to certain member levels – but requires custom code to apply or traverse access levels on submitting topics / replies to ensure widgets and other snippets don’t display private areas to members that don’t have access. (it allows you to write custom queries with zero concern or consideration to access levels)

    For subscriptions (paid)– I use woo commerce Subscriptions plugin – this manages on its own site access based on paid recurring subscriptions (or in simple turns on or off user account based on payment) – pay x amount monthly to access certain site features, courses and resources, forums, pages, blog articles etc.

    However – woo commerce subscriptions does not manage deposit / time based subscriptions (non-recurring subscriptions) eg, pay a deposit for a course and gain instant access then pay off on a subscription for x amount of weeks / months –
    I was not able to find any plugin (free or paid) that does this, so I had to write a plugin currently under experimental concept stage.

    Other tips: often it’s better to find compatible, well supported and pay for premium plugins that have overlapping features and disengage these features you don’t want to achieve your goals and do as little integration code as possible, but anything you do needs to be well planned and though out as to not to touch core code in any platform, framework or plugin.
    At the end of the day you want the ability to upgrade all systems as time go by.

    Eg, s2member plugin has its build in membership system that is “required to be active” for the plugin to work. – all I did was setup a single paid (never to be used membership) on a paypal sandbox store this includes setting up all the s2membership registration pages etc – then put a simple redirect in the .htaccess on any of these pages. Now to purchase membership you must go to the store (woo commerce) and purchase a subscription via woo – s2member has now has nothing to do with membership registration / payment systems.

    And of course I have “force account creation” turned on at the store – you cannot make a purchase without signup at a minimum free site membership.
    by disengaging the buddy, bbp, Wp, and all other means of registering (by redirect) but only leaving the woo commerce customer account registration available – The pop up registration form I use for free members is just a woocommerce customer account registration form (with no products attached) with a fallback to the s2membership cut down reg form (in case ajax / jquery etc not working on client side)

    And now all purchases, subscriptions, shop account, courses etc are now available from the buddy press profile page also via a “woo to buddypress” plugin (or in my case built into the theme)

    May sound complicated but as mentioned I would really suggest starting with payment solutions and nut out this part of the project first as this will most likely force development direction,

    one of my project goals was a solution that can cater for anything…. so,

    Regarding variable deposit / costs amounts based on user input – if using similar approach as I did – you would just setup woo commerce discount codes per variable outcome / result and would just reveal the correct coupon code to the user on the checkout page. they just cut and paste this code into the discount field and click apply.

    or setup up multi products – one product per price base. – have the user input their details first and the result would be – apply a groups cap / role then only offer the courses products in the store with the associated price base based on user caps / role –

    woo discount coupons can be setup on multiple bases – eg, deposit amount / on going subscription amount or total amount or per product or per cart total etc.

    for me was plenty of research into this including concept builds of other community platforms and as above is only a bit of a sample of features used relating to the OP.
    I was under very strict key point goals and achievements requiring very specific outcomes many of these affected development direction how / why I implemented the above.

    There may be better simpler ways to suit your specific project, but thought it might be worth a mention for some direction. or at least insight into some of the plugins I use / ideas and concepts.

    my usual disclaimer – if there is something in there for you, that’s great! if not that’s fine too!

    enjoy!

    #246689
    peti446
    Participant

    Yea it is xpofile what i mean actually i got it a solution, i was looking around the buddypres register file as there they need to show all the xporfile from the first group then i just changed it to my needs and used it and it worked ! Ty for all the help.
    I let the solution here:

    if ( bp_is_active( 'xprofile' ) ) {
    	if ( bp_has_profile( array('fetch_field_data' => false ) ) ){
    		while ( bp_profile_groups() ) {
    			bp_the_profile_group(); 
    			while ( bp_profile_fields() ) {				
    			   bp_the_profile_field(); 
                              //bp_get_the_profile_field_name() for get the name
                              //bp_get_the_profile_field_id() for get the id
    			}
    		 } 
    	}
    }
    #246686
    scoobs2000
    Participant

    re, confirming if the settings stick – I’m unable to confirm as I had already stripped the visibility check from the child theme template to ensure all fields are displayed (base) no matter what, I was only using the admin enforce setting to remove the change links on the profile page.

    I have now completely removed the visibility settings page from the profile and remove the links from the profile field loop. – I’m 100% happy with my solution (was a to-do-task) – any updates to the core will have no effect on my customs.
    (I’m using s2member to manage all fields outside the base group)

    Cheers,

    #246681
    ckchaudhary
    Participant

    Do you mean xprofile fields?

    midoggy
    Participant

    Hi,

    I’m using WordPress 4.3.1 and just updated Buddypress to 2.4. Since the update of Buddypress the profile fields can be overwritten by the members although I choose “enforce profile visibility” in the settings. Before the update everything worked. I just tried it with WP 2015 and the problem still exists.

    My Website is http://community.midoggy.de

    Thank you for your help,
    Julia

    #246637
    mnctigah
    Participant

    Greetings…

    I’ve inherited a development project that is using WordPress 3.7 along with BuddyPress 1.5. The intent being to upgrade both to current RC’s.

    There is a lot of customized code dealing with xprofile fields and member search functions, with most being achieved by way of template overload in a child theme based on bp default. There are also modifications to the BP 1.5 core files that I am in the process of migrating over to BP 2.3.4. Due to relative unfamiliarity with BuddyPress, not exactly sure where that will lead. Realistically, about 50% of that code base has been migrated over without breaking the BP 2.3.4 install.

    Backtracking a bit, it is my intent to update WordPress to 4.3.2 with the current BP 1.5. I have actually updated WordPress and corrected the BP slugs that were changed with the update. All except for the BP members slug which resolves correctly to …/profile/edit/group/1 but returns a 404 “page can’t be displayed error.”

    I have found a few threads that deal with this issue but none of the proposed solutions seem to resolve. Some deal with plugin type conflicts and others deal with updating BuddyPress (which is not a viable option at the moment).

    My bp-xprofile-screens.php includes some validations and can be viewed on pastebin…
    http://pastebin.com/b13kAk2v

    I have the site migrated onto a development box at http://52.6.38.92/. For those savvy enough to provide some insight, temporary login credentials from DropBox at https://www.dropbox.com/sh/wt1wxd32duosb0j/AADSDSI81VOxUg89L_bqHddZa?dl=0.

    It should be noted that if I do upgrade BuddyPress to 2.3.4 (both plugins are installed on the site), I am able to edit the profile at …/profile/edit/group/1, but that’s defeating my purpose as all the code has yet to be migrated (if that is even possible to achieve). And there are still display issues with my search form using BP 2.3.4.

    I guess the relevant question is why would the “bp_core_redirect( bp_displayed_user_domain() . $bp->profile->slug . ‘/edit/group/1’ );” statement work with WordPress 3.7 and not with 4.3.2? What am I missing? Is something being overwritten in the database upgrade?

    I’m hoping that someone more intimate than I am with BP can provide some additional insight.

    #246571
    Anonymous User
    Inactive

    Hi everyone, we’re very excited to announce BuddyPress 2.4.0 Pietro is available for download/upgrade.

    Here’s the post announcing the release: https://buddypress.org/2015/11/buddypress-2-4-0-pietro/

    PS: this was my first time releasing a major version 🙂

    —

    Reported issues with fix:

    Issues needing verification:

    If you can replicate any of the following, please reply in the threads below with clear steps to duplicate.

    —

    Please do not report issues in this thread. Create a new topic and tag with 2.4.

Viewing 25 results - 1,451 through 1,475 (of 5,755 total)
Skip to toolbar