Skip to:
Content
Pages
Categories
Search
Top
Bottom

Search Results for 'profile fields'

Viewing 25 results - 726 through 750 (of 3,589 total)
  • Author
    Search Results
  • #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.

    #254701

    In reply to: CV upload in Profile

    danbp
    Participant

    Add a a new field group to profiles, call it CV, add some fields and options and you’re done.

    User Extended Profiles

    As you certainly want to get this part a bit apart of the other profile fields, you can also use this plugin who brings a nice tabbed profile page.

    Masoud
    Participant

    @shanebp
    hi. tnx for answer and patience. got 5 more minutes? 🙂
    i read and worked on what you said. and if i want to be honest, i could’t do anything special unfortunately.
    now, i want to ask your opinion about this idea:
    i’ve come up with the idea of hiding that field. (not email field), how?
    with the use of if condition… (if it’s not empty show it. if it has data, hide it)!
    ——-
    i’ve created a custom-meta with this code in theme functions:

    add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
    add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
    function my_save_extra_profile_fields( $user_id ) {
    if ( !current_user_can( 'edit_user', $user_id ) )
    	return false;
    /* Copy and paste this line for additional fields. */
    add_user_meta( $user_id, ‘person_relation’, 30318 );
    update_usermeta( absint( $user_id ), 'person_relation', wp_kses_post( $_POST['person_relation'] ) );
    update_user_meta( $user_id, 'person_relation', $_POST['person_relation'] );
    }

    and used it in my buddypress signup form, to get data from users. ok?
    after what you said, i went to edit.php (copy to my theme buddypress folder…)
    and added these codes. but it seems that they do not recieve/send data at all.
    it looks like they are empty!! 😐
    after <?php at the start,
    i added :

    global $user, $user_id;
    $person_relation = get_the_author_meta( 'person_relation', $user->ID );
    $user_id = get_current_user_id();

    and in the <form> ,
    i added this piece of code (not working)
    then copied and changed the “save changes button”.
    so there is 2 buttons. one is for my-custom-meta, and the other is for buddypress form.
    buddypress edit page
    if user writes the name and click save. the box/button, all should gone. and i have to see the data in Users admin panel.
    but nothing is getting save… and i dont know where am i doing it wrong

    <?php if( $person_relation == '' ): ?>
    <tr>
    <th><label for="person_relation">Invitor's Name</label></th>
    <td>
    <input type="text" name="person_relation" id="person_relation" value="<?php update_usermeta( $user_id, 'person_relation', $_POST['person_relation'] ); ?>" class="regular-text" /><br />
    <span class="description">Please enter your invitor's name.</span>
    </td>
    </tr>
    <input type="hidden" id="userID" value="<?php echo $user_id ?>"/>
    <div class="submit">
    <input type="submit" name="profile-group-edit-submit" id="profile-group-edit-submit" value="<?php esc_attr_e( 'Save Name', 'buddypress' ); ?> " />
    </div>
    <input type="hidden" name="person_relation" id="person_relation" value="<?php update_usermeta( $user_id, 'person_relation', $_POST['person_relation'] ); ?>" />
    <?php add_action( 'personal_options_update', 'my_save_extra_profile_fields' ); ?>
    <?php add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' ); ?>
    <?php do_action( 'xprofile_profile_field_data_updated'); ?>
    <?php endif; ?>

    so sorry for long description. tnx for help.
    any suggestions do you have?

    #254628
    danbp
    Participant

    The word Name can be changed on the profile fields admin screen. Simply edit it !
    Dashboard > User > Profile Fields (wp-admin/users.php?page=bp-profile-setup)

    What do you call blanks ? Your field names are all aligned left and the width seems to be equal for all. You can reduce it via your child-thme style.css.

    Note that you will anyway get different blank space as the width will be adjusted to the longest word. Ie. ABCDEF will go from left to right border, but ABC will left a blank space on the right.

    #254548
    Masoud
    Participant

    i’ve managed to create a extra field by ID, and this is the function to save it.
    it’s name is “person_relation”.

    add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
    add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
    function my_save_extra_profile_fields( $user_id ) {
    	if ( !current_user_can( 'edit_user', $user_id ) )
    		return false;
    	/* Copy and paste this line for additional fields. Make sure to change name '' to the field ID. */
    	update_usermeta( $user_id, 'person_relation', $_POST['person_relation'] );
    }

    now
    1) any suggestion on how should i make this box appear on group 1 ?
    * or in the setting page?
    and
    2) how should i get the value of it? (it’s a text input)? i heard that i have to use “POST[]” method? is it the right way? and how?

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