Skip to:
Content
Pages
Categories
Search
Top
Bottom

Search Results for 'profile fields'

Viewing 25 results - 726 through 750 (of 3,593 total)
  • Author
    Search Results
  • #256918
    crawlinson
    Participant

    Ah HA! My apologies, it seems as though conditional visibility is not a core feature of BP. As I am working with another developer I didn’t realise they had added this functionality through a plugin called “conditional profile fields for buddypress” https://buddydev.com/plugins/conditional-profile-fields-for-buddypress/

    Sorry!

    #256823
    danbp
    Participant

    @eli225, please calm down. @sharmavishal is only trying to help you !

    It’s not easy trying to help people asking questions without giving much details. It’s the case with this topic and your previous. Have you even read this before asking ?

    This is not possible: Buddypress Profiles Display In Wrong Order as it is not BP but the site admin who determines this.

    xprofile fields and xprofile field groups (what you call section i suppose ) are drag’n’dropable.

    If despite a correct positionning in the backend, the order changed on front-end, two possibilities: the drag’n’drop was to fast or there is a js error/latentency/cookie somewhere. And this is generally due to the theme in conflict with a plugin (which could be BP).

    Unfortunately, kleo is a premium theme for which you can’t expect assistance here, as we have no access to it’s code.

    For the part related to BuddyPress, note that the actual version works flawlesly with the xprofile component. Nobody related a similar issue to yours recently.

    So back to handcrafted annoying but very related questions:
    What do you call section ?
    Which type of field do you use ?

    Also related to general debug work:
    Have you tested with another theme ?
    Have you tested without any other plugin as BP ?

    danbp
    Participant

    On a default single install, all users can access their credentials via your-site/wp-admin/profile.php

    From there they have access to the WP fieldss and to the extended profil fields.

    From there, they can change email & password.

    Admitting you closed admin access to all users, the only other way for them to modify there email and password is to use the “forgotten your password ?” at loggin stage.

    All this is not really a BP thing, but how WP is working since 2003.
    The 3 mandatory field (username, email and password) belonging exclusively to WP. They are showed on registration, ASIDE BuddyPress custom fields. BP doesn’t exactly handle them, it only show them. And as these fieds are WP territory and a bit sensible, they are not accessible from within frontend profile settings.

    Guess the word “critical’ is a bit exagerated. Not every user change his mail or password every day. How long do you wait for a new phone number or new electricity supply ? Probably more critical things as a mail/password change !

    jagarolik
    Participant

    Okay, that’s a good start – I’ve installed BP XProfile WordPress User Sync, but there are several critical wordpress account fields inaccessable from BP.

    – account email
    – account password

    These are critical, as people change their emails and passwords – and there is no way to do this right now through BP as is.

    #256752
    buddycore
    Participant

    You’re going into a pretty complicated MySQL query.

    $field_id = SELECT id FROM wp_bp_xprofile_fields WHERE name = Profile Field

    $users = SELECT DISTINCT user_id FROM wp_bp_xprofile_data WHERE value = enterprise AND field_id = $field_id

    Then you’re gonna be implementing a foreach loop in PHP.

    That’s the approach I would take, it’s quite in-depth and I’m working on something else at the moment but hopefully that gives you an idea of where to look.

    #256734
    sharmavishal
    Participant

    you can sort the order in the wp backend by going to profile fields

    #256715
    gorbett
    Participant

    SOLUTION (finally)

    Thanks @henrywright and @coffeywebdev for pointing me in the right direction. Here is what I ended up with.
    1. Enable child theme and copy the BP register.php file to the child theme.
    2. In the child theme’s style.css, I entered to remove the xprofile fields from the register.php page:
    .editfield {
    display: none;
    }
    3. In the child theme’s functions.php file I have this (again, reassign the xprofile fields ‘field_3’ and ‘field_4’ because of their position in the DOM:

    add_action( ‘bp_signup_pre_validate’, ‘assign_username’ );

    function assign_username(){
    if ( isset( $_POST[‘first_name’] ) ) {
    $_POST[‘field_3’] = $_POST[‘first_name’];
    $_POST[‘field_4’] = $_POST[‘last_name’];
    $_POST[‘signup_username’] = create_username();
    foreach ($_POST as $key => $value) {
    echo $key . “: “;
    echo $value;
    echo “<br>”;
    }
    exit();
    }
    }

    function create_username() {
    $i = 0;
    $username = $_POST[‘field_3’] . $_POST[‘field_4’];
    while (username_exists( $username )) {
    $username = $username . ++$a;
    }
    return $username;
    }

    I am simply creating a username from first name and last name and then start to append a number when inevitably someone with the same name registers. I need to add more validation on the username to ensure that it is <= 50 characters, but this finally worked for me.

    Thanks again to the community for pointing me in the right direction!

    #256712
    gorbett
    Participant

    Issue now is with the extra BP fields coming later in the DOM than my fields on my register.php. Even though I have the css set to display: none for the actual xprofile fields, my fields are not carrying through the $_POST values because display: none does not remove the fields from the DOM.

    I guess I can try adding hidden fields after the xprofile fields and set them to the values being entered in my fields, but that seems kinda clumsy.

    I added test code to check the $_POST values at where I can see the fields coming over as empty strings: https://pantest.centralus.cloudapp.azure.com/register/

    #256705
    danbp
    Participant

    @pws2015

    assuming your fields names are Address, City and Postal code, add this snippet to bp-custom.php and any logged-in user will see these fields on the Member Directory page underneath the already existing informations.

    function bpex_address_on_directory(  ) {	
    
    if( bp_is_active( 'xprofile' ) && is_user_logged_in() ) :
    
    	echo '<p>';
    
    	if ( $address = xprofile_get_field_data( 'Address', bp_get_member_user_id() ) ) :
    		echo $address.'&nbsp;';
    	endif;
    
    	if ( $zipcode = xprofile_get_field_data( 'Postal code', bp_get_member_user_id() ) ) :
    		echo $zipcode .'&nbsp;';
    	endif;
    
    	if ( $city = xprofile_get_field_data( 'City', bp_get_member_user_id() ) ) :
    		echo $city .'&nbsp;';
    	endif;
    
    	echo '</p>';
    
    endif;
    
    }
    add_filter ( 'bp_directory_members_item', 'bpex_address_on_directory' );
    #256702
    sharmavishal
    Participant

    As mentioned:

    In the WordPress dashboard, find under “Users” a link titled, “Profile Fields” (Users>Profile Fields)

    Here you can add profile fields to the signup process,

    in your case add address, city and postal code fields

    if above is added and you are not able to see then check the visibility of this 3 fields

    #256683
    coffeywebdev
    Participant

    In the WordPress dashboard, find under “Users” a link titled, “Profile Fields” (Users>Profile Fields)

    Here you can add profile fields to the signup process, if you don’t want to add the fields to signup you need to add a new field group.

    The field group ‘Base’ is added to signup process

    I hope that helps

    #256668

    In reply to: BP exclude member role

    pws2015
    Participant

    Hi,
    In this file: wp-content/plugins/bp-custom.php i add this:

    function buddydev_exclude_users_by_role( $args ) {
    	//do not exclude in admin
    	if( is_admin() && ! defined( 'DOING_AJAX' ) ) {
    		return $args;
    	}
    	
    	$excluded = isset( $args['exclude'] )? $args['exclude'] : array();
    
    	if( !is_array( $excluded ) ) {
    		$excluded = explode(',', $excluded );
    	}
    	
    $tab_role=array('administrator','subscriber','author','contributor','editor');
    	foreach($tab_role as $k=>$role){
    	//$role = ;//change to the role to be excluded
    	$user_ids =  get_users( array( 'role' => $role ,'fields'=>'ID') );
    	
    	
    	$excluded = array_merge( $excluded, $user_ids );
    	}
    	
    	$args['exclude'] = $excluded;
    	
    	return $args;
    }
    

    So i exclude all role but i have custom role which users of this role are only can see they profiles in member page

    #256646
    shanebp
    Moderator

    modifying the general.php template

    There is no such template in a standard BP install, afaik.

    But there is an easier way to add a field…
    Why not add a profile field in the proscribed manner?
    In wp-admin, go to Users > Profile Fields and add your field to whichever Group you want.
    All fields in the Base Group will appear on the Registration page.

    #256575
    coffeywebdev
    Participant

    In the WordPress dashboard, find under the Users menu a link titled, “Profile Fields”(Users>Profile Fields)

    Once you click on this link, then you can add new fields to the profile by clicking the Add New Field button.

    When you’ve added a field to the Base(Primary) field group, then it will appear on your registration pages and user profiles.

    #256573
    coffeywebdev
    Participant

    Copy the buddypress theme into your WordPress child theme, and then you can modify the register template if needed.

    copy the buddypress theme into your child theme by pasting this path into your child theme folder
    /wp-content/plugins/buddypress/bp-templates/bp-legacy/buddypress

    path of file for registration fields is this:
    /wp-content/themes/child-theme/buddypress/members/register.php

    Then, add First and Last name fields under User>Profile Links in the WordPress Dashboard.

    Currently there is a ‘Name’ field that is required, you can edit it to read ‘First Name’ then add another ‘Last Name’ field..

    Then you need to process the data before it saves into the database, I’m kind of at a loss here… I would need more time to brainstorm on it but I did find this hook ‘bp_core_signup_user’

    I believe this is the hook you are looking for:

    // define the bp_core_signup_user callback 
    function action_bp_core_signup_user( $array, $int, $int ) { 
        // make action magic happen here... 
    }; 
             
    // add the action 
    add_action( 'bp_core_signup_user', 'action_bp_core_signup_user', 10, 3 ); 
    #256516
    danbp
    Participant

    Hi,

    it’s not the solution but an example you can perhaps use.
    The snippet handles the object members and sort them by type “contributing”
    Replace object by activity and type by “beer” and see what you can do from that.

    // add order options to members loop
    function ch_member_order_options() {
    ?>
       <option value="contributing"><?php _e( 'Contributing Members', 'buddypress' ); ?></option>
    <?php
    }
    add_action( 'bp_members_directory_order_options', 'ch_member_order_options' );
    
    // filter ajax members by contributing
    function ch_filter_ajax_querystring( $querystring = '', $object = '' ) {
    
    	if( $object != 'members' )
    		return $querystring;
    
    	$defaults = array(
    		'type'            => 'active',
    		'action'          => 'active',
    		'scope'           => 'all',
    		'page'            => 1,
    		'user_id'         => 0,
    		'search_terms'    => '',
    		'exclude'         => false,
    	);
    
    	$ch_querystring = wp_parse_args( $querystring, $defaults );
    
    	if( $ch_querystring['type'] == 'contributing' ) {
    	
           // grab members by Member Type role declared on xprofile	
    	$users = get_users( array( 'fields' => array( 'ID' ), 'role' => 'contributor' ) );
    		
    		$users_str = '';
    		foreach ( $users as $user ) {
    				 $users_str .=  $user->ID . ',';
    			}
    		$users_str = rtrim($users_str, ",");
    
    		$ch_querystring['include'] = $users_str; 
    		$ch_querystring['type'] = 'alphabetical'; 
    		
    		return $ch_querystring;
    		
    	}	
    	
    	else
    		return $querystring;
    			
    }
    add_filter( 'bp_ajax_querystring', 'ch_filter_ajax_querystring', 20, 2 );

    https://buddypress.org/support/topic/adding-new-order-by-on-members-loop/

    Members Loop

    Member Types

    #255942

    In reply to: Profile Fields

    danbp
    Participant

    It’s not a duplicate, but how it works.
    On the left, you have the WP field for “username”, on the right BP’s mandatory field “name”. Both are used for registering a new user. WP’s username field accept only lower case alphanumerics without space. Mostly used to enter a pseudonym. BP’s field accept uppercase and space or even carets, wich allows to enter first and last name for example.

    Note that you’re not obligated to enter a first and last name. If you rename Name to City or Gender, a user must enter a city name or his gender. Eg. username: johnrobertsonquid | city: Los Angeles or username: johnrobertsonquid | gender: male

    But whatever the field may contain, it cannot be removed.

    About xprofile fields:

    User Extended Profiles

    #255394
    rajsandy11
    Participant

    @danbp
    Thanks for the replay, Script to load xprofile list is working well, I also had state and city fields in my registraion form… Is there any script to achieve conditional selects ??? i mean if i select a country it should populate states belong to that country and if i select state from that list it should populate cities belong to that city only.

    Thanks

    #255245
    rajsandy11
    Participant

    Thanks for the replay, I already seen some tutorials… If we go with javascript we have to enter the values manually and assign it to a input tag and we call it using javascript/jquery with an ID, But I already added values in buddypress profile fields (Country Field). How can i use that values and auto suggest on frontend ??

    #255224
    vitamincee
    Participant

    @r-a-y I’m running:

    Akismet
    Alexa Certify
    AmazoLinkenator
    AMP
    Select Audio player
    Better WordPress Recent Comments
    BP Profile Search
    BuddyPress
    BuddyPress Friends Only Activity Stream
    BuddyPress Xprofile Custom Fields Type
    CloudFlare
    Co-Authors
    Comment Rating Pro
    Cookie Consent
    Core Control
    Delete Expired Transients
    Edit Flow
    Email Address Encoder
    Enhanced Text Widget
    Export Users to CSV
    Featured Images in RSS w/ Size and Position
    Gigaom New Relic
    Gravity Forms
    Gravity Forms Polls Add-On
    IFRAME Embed For YouTube
    Jetpack by WordPress.com
    MemberPress Business Edition
    MemberPress MailChimp
    Meta Slider
    Post-Plugin Library
    Recent Posts Widget Extended
    Regenerate Thumbnails
    Revision Control
    Simple Lightbox
    SSL Insecure Content Fixer
    WangGuard
    Widget CSS Classes
    Wordpress Video Plugin
    WP Crontrol
    WP Missed Schedule
    WP Resized Image Quality
    WP-Ban
    Yet Another Related Posts Plugin
    Yoast SEO

    But I’m also running all of these on my dev server, and it works fine there.

    I double check the nginx config

    #254967
    terpz
    Participant

    Hi again

    i found the problem, but i do not have enough insight to buddypress to fix it.
    file: wp-content/plugins/buddypress/bp-members/bp-members-screens.php

                            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() );
                            #}
    

    on my page, signup_profile_field_ids (hidden field) does not exist on my reqistry page, and therefore it redirects using signup_profile_field_ids

    commenting those 3 lines out, made it work for me.

    Is this a bug or am i missing some settings?

    danbp
    Participant

    I’m unable to reproce this issue.

    Check following tables for duplicate entries in DB
    wp_bp_xprofile_fields and wp_bp_xprofile_groups (wp is the table prefix; could be different on your install)

    Provide the list of used & activated plugins.

    Did you found a similar issue mentionned on Salutation support ?
    Note that it’s a premium theme for which we can’t assist you, as we have no access to it’s code or support.

    shanebp
    Moderator

    To show xprofile fields, you could do this:

    // add the custom column header
    function philopress_modify_user_columns($column_headers) {
    
            $column_headers['extended'] = 'Meta Fields';
      
            return $column_headers;
    }
    add_action('manage_users_page_bp-signups_columns','philopress_modify_user_columns');
    
    // dump all the pending user's meta data in the custom column
    function philopress_signup_custom_column( $str, $column_name, $signup_object ) {
    
    	if ( $column_name == 'extended' ) 
                 return print_r( $signup_object->meta, true );
    
            return $str;
    }
    add_filter( 'bp_members_signup_custom_column', 'philopress_signup_custom_column', 1, 3 );

    If you only want to show specific meta fields, you need to know the field id(s).
    Then you could do this:
    return $signup_object->meta['field_4472'];

    GIST

    #254707

    In reply to: CV upload in Profile

    aamirpsy
    Participant

    Thanks, i found helpful plugin for solution.
    Plugin Name:
    BuddyPress Xprofile Custom Fields Type
    https://wordpress.org/plugins/buddypress-xprofile-custom-fields-type/

    navyspitfire
    Participant

    Bump on this, having the same issue. Trying to see registration fields (mainly the gravatar) as well as some xprofile fields (file uploads) before activating them.

Viewing 25 results - 726 through 750 (of 3,593 total)
Skip to toolbar