Skip to:
Content
Pages
Categories
Search
Top
Bottom

Search Results for 'profile fields'

Viewing 25 results - 1,326 through 1,350 (of 3,593 total)
  • Author
    Search Results
  • Ben Hansen
    Participant

    if you are talking about editing the regular wordpress profile fields from the front end the same way you edit the extended buddypress profiles that may be part and parcel with a feature i am currently lobbying for for 2.0 which is the merger of the two, both fronted and back.

    if that’s something you’d also like to see or is what you are trying to accomplish then i would urge you to enter this code patch as a ticket in trac:

    https://buddypress.trac.wordpress.org

    and while you’re at it please take the survey for any other input you have as far what you’d like to see for buddypress 2.0 i believe today’s meeting is where the new features will be scoped so the next few hours could be the last chance to give your input:

    2014 BuddyPress Survey

    also if you want to attend the devchat itself it’s held on irc at 20:00 UTC every wednesday on the channel #buddypress-dev

    if you do not have an irc client you can use the web browser version here:

    http://webchat.freenode.net

    hope to see you there!

    CORRECTION: the feature scoping has been postponed until next week.

    Tim2376
    Participant

    Yes, I know you can edit all the field from the back end. However, I am trying to get it to allow you to show and edit the fields from the front end. Here were the steps I am thinking about using:

    1) Use BuddyPress Custom Profile Menu plugin to create new tabs on the profile page like, “about”
    2) make a function in function.php of my theme that would display the content for a user and allow them to edit it if it was their profile.
    3) create a shortcode function that linked to the function in step 2.
    4) Add the shortcode in the new page created with BuddyPress Custom Profile Menu plugin in step 1.

    I know how to do step 1, 3, and 4. I have an idea of how to do step 2, but I am a little fuzzy on it. Here is what I was thinking(I don’t really know php):

    function ProfileAboutPageContent(){
        if(bp_loggedin_user_id() == $GLOBALS['bp']->displayed_user->userdata->user_login)
        {
        echo "<p>'"bp_profile_field_data( 'field=User Bio' )"'</p>";
        //Allow user to edit the content(not sure how)
        } elseif {
        echo "<p>'"bp_profile_field_data( 'field=User Bio' )"'</p>";
        {
    }
    add_shortcode('AboutContent', 'ProfileAboutPageContent');

    Are there any errors in this code? I am not sure how to allow users to edit the content if they are the right user. Any ideas on how I could change this code? I am planning on putting this code in the function.php of my current theme.

    The idea is that after I get this function and short code right I can add the shortcode to the new page I can create with the BuddyPress Custom Profile Menu plugin.

    If anyone would be willing to help me figure this out I would greatly appreciate it. Thanks!

    Ben Hansen
    Participant

    the front end buddypress profile is not connected to the backend one (for the most part) you may be missing the fact that the front end profile fields need to be set by you in the profile fields section of your users settings in wp admin. those fields are only editable from the front end by default.

    #176909

    In reply to: Member Video Gallery

    Shmoo
    Participant

    I think you can use the default Xprofile fields for this.

    Just add a new tab ‘video’s’ and another tab called ‘photo’s’ and let them copy-/paste links to YouTube-/Flickr and others inside a multi-line text input field. ( Xprofile )

    I believe the WordPress Embed service will auto complete those links into embedded video’s and images.

    If not –> Search: BuddyPress auto embed xprofile – something like that.

    #176818
    thisisbbc
    Participant

    At first I was hoping for fields displayed in WP Profile to be displayed in BP Profiles. Then I hoped that if I created a custom field on BP Profiles with the same name as the WP Profile they would be synced, but none of the above are true so I’m really wondering what this feature is doing.

    somethingelse
    Participant

    would this also work in members-loop?
    i was to display a specific summary, including a link to the member’s own website (which is theoretically in a profile field if they fill it in) on the main member’s listing page.

    not quite having success with the conditional display.

    using

    <?php if ( $data = bp_get_profile_field_data( 'field=Website' ) ) : ?>
             	<span class="activity"><a href="<?php echo $data ?>" target="_blank">Website</a></span>
    <?php endif ?>

    and it won’t display anything, even if there is data in the Website field…
    but if i remove the if statement and just use
    <span class="activity"><a href="<?php bp_member_profile_data( 'field=Website' ); ?>" target="_blank">Website</a></span>
    i get a nice linked “Website” – except that EVERY one is linked, even if there isn’t an actual URL in the field. Empty profile fields just link it back to the member listing page.

    any suggestions?

    brinkingyellows
    Participant

    Hi @r-a-y. Here are the plugins I am currently using on the site.

    Network Activated:

    Advanced Responsive Video Embedder
    Anti-Splog
    Are You a Human
    bbPress
    bbPress – Report Content
    bbPress Enable TinyMCE Visual Tab
    bbpress Simple View Counts
    BP Profile Search
    BuddyPress Activity Plus – (I did deactivate this after the 1.9.1 update but nothing changed)
    BuddyPress Avatar Bubble
    BuddyPress Follow
    BuddyPress Group Calendar
    BuddyPress Groups Extras
    Buddypress Social
    BuddyPress Toolbar
    BuddyPress Twitter
    Buddypress Xprofile Custom Fields Type
    GD bbPress Toolbox
    Group Forum Crumbs
    rtMedia for WordPress, BuddyPress and bbPress
    User Activity
    WP User Avatar

    —-

    Single Site Actived

    Amazon Product In a Post Plugin
    BuddyMenu
    BuddyPress Notifications Widget
    Really simple Facebook Twitter share buttons

    That’s about all the plugins that I have active that play a heavy part in Buddypress or are loosely connected to it.

    #176672
    Henry Wright
    Moderator

    I think xprofile_data_value_before_save is the hook you want to use. So, if you add this to functions.php your xprofile fields will accept HTML:

    remove_filter( 'xprofile_data_value_before_save', 'xprofile_sanitize_data_value_before_save', 1, 2 );

    Note: Use this with caution. Not sanitizing incoming data is dangerous so you will need to add your own custom sanitization if you use this.

    #176565
    julianprice
    Participant

    @hugo was not attention to discredit anyone. Just an effort from someone attempting to contribute to the buddypress project because I know only few that contribute (via 🙂 stalking or following); which is only a handful: @boonebgorges , @jamesjjacoby, tammie leister, ray, @modernlooper, @sarah . That’s just the dew I know off the top of my head.

    I am not developer & barely knew hmtl/CSS a few months ago, I am just learning functions, fields, &php which is completely out of my realm. I only attempting to contribute by noticing this miss lap/division of the WordPress community as a whole, that could be learned nor have to recreate the wheel by learning to utilize the bb’s potential.

    What made me think of posting this in the first place was a review of make.wordpress.org and watching the discussions on the metaphoris project enhancing the metafields/metadata in wordpress.

    That’s when I thought my buddypress already has included the ability for profile fields with text, select, radio, Multi select elements….why not look at what buddypress has done!

    I purely believe that presence on the make.wordpress.org can increase awareness in the general wordpress user exposure but more importantly the wordpress developer involvement as a whole.

    At this point, is the only way i feel I can contribute with out technical experience is via feedback & observation of what seems disconnect in community awareness of buddypress.

    Sorry to go on a rampage but noticed also that bbpress has some documentiion on how to style.

    My only purpose is to insure inclusiveness and encouragement of wordpress community as one.

    Thanks. I am happy to help in anyway to contribute; if it testing a local version or so what…you just will have to tell how…LOL. I will certainly try.

    Sorry to go on rampage

    #176347
    Hugo Ashmore
    Participant

    You’re not attempting to hide anything, if you have created xprofile field groups other than the default ‘Base’ then anything in those groups for user profile input will not show on the standard BP registration form only on the users account profile screen. If you are following that principle and those fields are showing on the main registration form then something is going wrong and likely you have third party plugins at work?

    #176157
    Shmoo
    Participant

    What I did is I changed the form + validation stuff inside the template files to customize my own forms and validation process.

    First of all I didn’t like the default validation process that BuddyPress is using where you have to push Submit and then the script checkes if every field is filled correctly, if not it pushes a text_message into the page through an Action.
    Result, often the error message shows up at the top of the page where you aren’t looking and not at the form where the problem occurs, and even more important it’s an extra page-load to get this message into the page.

    I didn’t like that so I left everything of that untouched as a back-up system and simply used my own ( Zurb’s ) validation JavaScript to check while writing if the fields are correct.
    Plus this JavaScript disables the Submit buttons if a form or field is not valid.

    This is a screenshot of the Profile Settings page but all forms work the same so you can just diff into the template files and add alter them.
    BuddyPress custom form + validation

    The script I use is part of Zurb’s Foundation Framework so if you don’t like to work with Frameworks like me you have to strip all the needed code out of it.
    http://foundation.zurb.com/docs/components/abide.html

    There are probably also scripts like this one to be found online.

    #176079
    Manu-PB
    Participant

    [resolved] I have installed BP Xprofile Custom fields and the “nobody” option suits me.

    #176027
    shanebp
    Moderator

    Doesn’t sound like you need to edit xprofile fields from within the Dashboard,
    but this premium plugin allows you to view, edit and save xprofile field values from a User > Edit screen in the Dashboard:
    http://www.philopress.com/products/bp-dashboard-user-profile-edit/

    #175978
    shanebp
    Moderator

    Nice. It would also be interesting to provide this on all timestamps.

    One issue ‘tho – in this:
    http://docs.taptappress.com/buddypress-add-time-zone-list-profile-field/

    I think you’re inserting / updating all those xprofile fields on every page load.
    Why not just do it once?

    You could write a plugin that uses ‘register_activation_hook’ to run bp_add_custom_timezone_list() once.

    And then use the filter hook in:
    bp_get_message_thread_last_post_date()
    to adjust the timestamp without requiring a template change.

    And you could use other hooks to adjust other timestamp displays.

    That would be a popular and very handy plugin.

    #175838
    Henry
    Member

    @macpresss

    Take a look at this page to see the parameters accepted:

    Profile Fields Loop

    Perhaps try using profile_group_id:

    By default all groups and all fields will be displayed. If you provide the ID of a profile field group, then only the fields in this group will be displayed

    So it would be:

    if ( bp_has_profile( 'profile_group_id=2' ) ) :

    Where 2 is the ID(s) of the group you’d like to include. I think it should take a comma separated list but I haven’t tested.

    #175819
    petdailypress
    Participant

    This plugin: Buddypress Xprofile Custom Fields Type, had a conflicting field that I couldn’t see in my original theme. So I switched over to Twenty Twelve and the extra field popped up. So, I just deleted the (invisible) conflicting field from the profile, which allowed the Registration process to move forward.

    #175807

    In reply to: Hide profile field

    somethingelse
    Participant

    this is great help… but how do we do this with the s2member fields when we have s2member set to integrate with buddypress profiles???

    #175805
    Henry
    Member

    You could try looking at https://wordpress.org/plugins/buddypress-xprofile-custom-fields-type/ to see how they do it. I think one of the profile field types is ‘number’ – so that might be the best place to start.

    #175772
    Shmoo
    Participant

    It’s my theme and I code WordPress themes for like 5 years now but I don’t see myself as a Developer it’s more a hobby 🙂

    I’m solid at HTML-CSS and can read PHP when I see it happen but I can’t write PHP it out of the box.

    This error shows up when I try to hide a complete xProfile-group-ID or just an unique xProfile-field-ID from the loop.

    This is what I did.
    Inside: my-theme/buddypress/members/single/profile/profile-loop.php
    I found the start of the loop

    
    <?php if ( bp_has_profile() ) : ?>
    ....
    

    My first thought was, maybe there are default options here to control the output of which ID’s will be visible so I started the search how the bp_has_profile() was build and looked into plugins/buddypress/bp-xprofile/bp-xprofile-template.php and found this at line 150:

    
    ....
    
    $defaults = array(
    	'user_id'             => bp_displayed_user_id(),
    	'profile_group_id'    => false,
    	'hide_empty_groups'   => true,
    	'hide_empty_fields'   => $hide_empty_fields_default,
    	'fetch_fields'        => true,
    	'fetch_field_data'    => true,
    	'fetch_visibility_level' => $fetch_visibility_level_default,
    	'exclude_groups'      => false, // Comma-separated list of profile field group IDs to exclude
    	'exclude_fields'      => false  // Comma-separated list of profile field IDs to exclude
    );
    

    This looks very familiar to bbPress so my first thoughts was lets try to add one of those Array’s to the loop and overwrite the default value.
    Just like this.

    
    <?php if ( bp_has_profile( array ( 'exclude_groups' => 1 ) ) ) : ?>
    ...
    

    This works perfect, it hides all xProfile-fields from the first Base primary Tab (back-end). Just like I wanted it because I didn’t want all the fields to show up front-end, I’ve got a few xProfile-fields that I use for user-customization of the profile-page. Each user can add color-codes to change the default menu-color and add background-images to their profile-page to make each profile a little more unique.
    Those field-ID’s are just urls or color-codes and don’t have to be visable to the public, thats why I try to hide them front-end.

    buddypress member pofile tab

    modemlooper
    Moderator

    This code is just a start, I did not test to see if field groups will break it but you can get an example of spitting out fields as an object array variable on profile load and then using the variable to get the values instead of requesting each time.

    put this in bp-custom.php

    
    // creates global object array from profile fields
    function bp_profile_fields_array() {
    	global $fields;
    
    	$fields = array();
    
    	if ( bp_has_profile() ) :
    
    		while ( bp_profile_groups() ) : bp_the_profile_group();
    
    			if ( bp_profile_group_has_fields() ) :
    
    				while ( bp_profile_fields() ) : bp_the_profile_field();
    
    					if ( bp_field_has_data() ) :
    
    							$field_name = bp_get_the_profile_field_name();
    							$field_value = bp_get_the_profile_field_value();
    
    							$field = array(
    								'field_name' => $field_name,
    								'field_value' => $field_value,
    							);
    
    							$fields[] =	$field;
    
    					endif;
    
    				endwhile;
    
    			endif;
    
    		endwhile;
    
    	endif;
    
    	return $fields;
    
    }
    add_action( 'bp_before_member_header', 'bp_profile_fields_array' );
    
    // echoes value of field from object array based on param
    function bp_get_single_profile_field( $param ) {
    	global $fields;
    
    	foreach ( $fields as $key => $val ) {
    	   if ( $val['field_name'] === $param ) {
    		   echo $val['field_value'];
    	   }
    	}
    }

    Then in your member templates:

    <?php bp_get_single_profile_field('PROFILE FIELD NAME'); ?>

    Shmoo
    Participant

    In the profile-loop.php ( members/single/profile )

    Instead of this loop.

    
    <?php while ( bp_profile_fields() ) : bp_the_profile_field(); ?>
    	<?php if ( bp_field_has_data() ) : ?>
    	<tr<?php bp_field_css_class(); ?>>
    		<td class="label"><?php bp_the_profile_field_name(); ?></td>
    		<td class="data"><?php bp_the_profile_field_value(); ?></td>
    	</tr>
    	<?php endif; ?>
    <?php do_action( 'bp_profile_field_item' ); ?>
    <?php endwhile; ?>
    
    Shmoo
    Participant

    I know, but what if I duplicated the code above for all 20 profile fields ?

    – country
    – about
    – gender
    – age

    I would like to know how bad this would be for performance on the site, from my understanding it has something to do with Database Query’s ?

    Trying to make a Tab view of the profile info, on the first tab I would like to show all general stuff and on the second tab I would like to show work info + social media options.

    Henry
    Member

    Hi @macpresss

    What do you mean by ‘export all profile fields by a conditional tag’?

    Doing what you’ve done above is good practice because if Country is an optional field and it has not been completed by the member then nothing will be outputted:

    <?php if ( $data = bp_get_profile_field_data( 'field=Country ' ) ) : ?>
         <!-- do something -->
    <?php endif ?>

    If you’re doing something with a single profile field then there is no need to loop through them all. It’s basically wasted effort and slower performance.

    danbp
    Participant

    hi @matt-mcfarland,

    i’m not a dev but consider this, to get a user ID:

    $user_id = bp_get_member_user_id();

    To answer the sql question, here’s a function that doesn’t exist in buddypress, which let you get the xprofile_group name by it’s ID For inspiration…

    function bpfr_get_xprofile_group_id_by_name( $name = '' ) {
    	global $wpdb;
    	
    	$bp = buddypress();
    	
    	if( empty( $name ) )
    		return false;
    		
    	return $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$bp->profile->table_name_groups} WHERE name = %s", $name ) );
    }

    For the output, you have to create another function containing at least:

    
    	$user_id = bp_get_member_user_id();
    	$xprofile_group_id = bpfr_get_xprofile_group_id_by_name( 'the groupe name' );
    
    if( !class_exists( 'BP_XProfile_Group' ) )
    		return false;
    		
    	$args = array(
    		'profile_group_id'       => $xprofile_group_id,
    		'user_id'                => $user_id,
    		'fetch_fields'           => true,
    		'fetch_field_data'       => true
    	);

    May this help you !

    #175261
    Henry
    Member

    Hi @noizeburger, glad you finally got this working. I’m sure your tutorial will be helpful to many people too. I especially like the last snippet which shows you how to disable the editing of certain fields on the edit profile screen!

Viewing 25 results - 1,326 through 1,350 (of 3,593 total)
Skip to toolbar