Hi,
xprofile use 4 tables: _xprofile_data, _wprofile_fields, _xprofile_groups and _xprofile_meta
But your description is unclear. Which settings are you talking about ? The one on dashboard or the one on profile, on front-end ?
Can you give an example of your profile settings and tell what do you think is missing in regard of the DB content.
It relate to this filter bp_get_profile_field_data
This example will hide tabs and fields to all except admin
function bpfr_hide_profile_field_group( $retval ) {
if ( bp_is_active( 'xprofile' ) ) :
// hide profile group/field to all except admin
if ( !is_super_admin() ) {
//exlude fields, separated by comma
$retval['exclude_fields'] = '1';
//exlude groups, separated by comma
$retval['exclude_groups'] = '3';
}
return $retval;
endif;
}
add_filter( 'bp_after_has_profile_parse_args', 'bpfr_hide_profile_field_group' );
These tricks hide the tab content, not the tab itself. (it seems that it doesn’t work for groups at the moment…i asked devs for information) Use CSS display:none to hide the tab or consider this plugin.
Sorry for the outdated trick.
bp_is_profile_edit is deprecated in favor of bp_is_user_profile_edit.
Check for the outdated fn in the plugin mentionned in the error msg.
In case of, here a tutorial with more options.
– Single profile page. From show tab and from EDIT tab (see snippet)
– From dashboard profile edit page: not possible – normally BP users shouldn’t have access to profile dashboard. They can manage their profile from front-end.
– From custom profile fields. (see snippet)
– From tabs every where. (see snippet)
Almost any described areas, as example
function bpfr_hide_profile_edit( $retval ) {
// remove field from edit tab
if( bp_is_profile_edit() ) {
$retval['exclude_fields'] = '54'; // ID's separated by comma
}
// allow field on register page
if ( bp_is_register_page() ) {
$retval['include_fields'] = '54'; // ID's separated by comma
}
// hide the field on profile view tab
if ( $data = bp_get_profile_field_data( 'field=54' ) ) :
$retval['exclude_fields'] = '54'; // ID's separated by comma
endif;
return $retval;
}
add_filter( 'bp_after_has_profile_parse_args', 'bpfr_hide_profile_edit' );
This issue is resolved.
The problem was with Buddydev’s Conditional Profile Fields plugin. For me, to fix the problem, I figured out that I had to set all conditional fields to unconditional, then make any necessary changes to the profile fields, then when satisfied, go back and set the conditional statements, then the problem of not being able to save was gone.
@bramdehaan, if you go to Users > Profile Fields, then click Edit next to the date field you want to fix, you can select one of the two options in Range and fill in the values you want (this is for the years that will be displayed).
@danbp
Thanks again.
I’d missed the second example, but, unfortunately, it doesn’t solve the issue.
If not enough, you use CSS display:none; for the BASE markup on profile edit tab.
I attempted to do this but I’m unable to target the BASE group without also affecting the USER INFO group
I noticed, too, that the “hide fields or field group to members, but not to site admin” code was preventing user registrations from going through, for some reason. It was quickly redirecting users to the home page, rather than a success or failure message page, when they clicked on the “complete sign up” button.
I think what I’ll have to do is put all fields in the BASE group & go with what @shanebp suggested in the thread I linked in my first post. & hope that potential subscribers aren’t put off by the registration form.
Hi @danbp,
Thanks for your reply.
I tried that & the outcome was the same, ie the fields are hidden but the ‘Base’ profile group field is the same, like this
I guess a solution would be to put all fields in the ‘Base’ group & delete the “User Info” group, but this would mean that all fields would show up on registration (albeit, not all ‘required’). This is something I wanted to avoid, as I want to make it as quick & easy as possible for visitors to sign up – I don’t want to overwhelm them on sight of the registration form.
Hi,
I want to hide the entire Base Profile Field Group on my site.
I have followed the steps outlined by @shanebp in this topic &, while the Base Profile Fields have been hidden, the tab for the Group is still visible.
I have posted a screenshot of the issue here.
I want just the profile group ‘user info’ to be visible & editable.
I’m using the Kleo theme – version 4.1.5, WordPress 4.6.1.
I’d greatly appreciate some help.
My install has stopped sending any emails out for new user activation.
I can receive emails sent by WordPress after a user is manually activated, and can receive any email from Postman SMTP, as these test emails work.
I don’t use any other activity markers, but emails were not received when messages were sent either.
I have tried all of the listed troubleshooting steps that others have gone through before.
I have a custom function that creates a post for the user during the registration process. I have removed all custom functions and tried registering a user, and it still will not send any emails.
As BuddyPress uses it’s own PHP Mailer, I am not able to log them via any WP Mail logging tools, and want to see what might be going on here.
The problem reared its head around the time I upgraded to 2.6 (although the custom function during registration was also added at this time) as well
I have reset the emails multiple times, and I have not made any changes to them.
Could someone please provide assistance, or given me a suggestion on how to run the BP Email Debug code to get an email of any issues
Host is Bluehost
Here is my install, and plugin list
WordPress 4.5.4
BuddyPress 2.6.2
Advanced Custom Fields 4.4.10
Akismet 3.1.11 (inactive)
BackWPuP 3.3.4
BP Force Profile Photo 1.0.5
BP Member Type Manager 1.0.1 (inactive)
BP xProfile Location 1.2
BP XProfile WordPress User Sync 0.6.4
Broken Link Checker 1.11.2
Buddy Progress Bar 1.0.2
BuddyPress Conditional Field Groups 0.1.0
Buddypress Conditional Profile Field 2.0
Buddypress Geodirectory Integration 1.0.0 (inactive)
BuddyPress Member Type Generator 1.0.2
BuddyPress Profile Tabs 1.6.1
BuddyPress Security Check 2.1.2
BuddyPress Simple Terms And Conditions 1.3
BuddyPress Xprofile Custom Fields Type 2.5
BuddyPress Xprofile Member Type Field 1.0.4
Cherry Parallax Plugin 1.0.0 (for my theme)
Cherry Plugin 1.2.8.1 (for my theme)
Conditional Profile Fields for BuddyPress 1.1.9
Contact Form 7 4.5
Contact Form 7 – Dynamic Text Extension 2.0.1
Custom Hooks 1.0 (All my custom functions are in this plugin)
Custom Login 3.2.5
Custom Post Template By Templatic 1.0
Custom Post Type UI 1.4.1
Disable Comments 1.5.2
Display Posts Shortcode 2.7.0
Easy Parallax Slider 2.1.1
FacetWP 2.6.4
GEO my WP 2.6.6.1
GeoDirectory 1.6.5 (inactive)
Hello Dolly .1.6 (inactive)
MOJO Marketplace 1.0.1 (inactive)
MotoPress Content Editor Lite 1.6.5 (inactive)
Quick and Easy FAQs 1.0.3
SuitePlugins – Advanced XProfile Fields for BuddyPress 1.0.3
Super Socializer 7.8.1
WP Private Content Plus 1.11
WPFront User Role Editor 2.12.4
Yoast SEO 3.5
I’m using a plugin called Buddypress Xprofile Custom Fields Type.
If I edit a profile field, Buddypress begins to malfunction by not letting a new user save his info entered into the register.php form.
So if I delete all my profile fields, and then re-create them, Buddypress will begin to function properly again, but, then I create custom profile search widgets with a plugin called “Buddypress Profile Search,” and then the problem starts again. (User can’t save the data he entered. Registration page just refreshes.)
Hello danbp,
I have tried all the following but no luck…
function value_field_remove_html_filter() {
remove_filter( 'bp_get_the_profile_field_value', 'xprofile_filter_kses', 1 );
}
add_action( 'bp_init', 'value_field_remove_html_filter' );
function edit_value_field_remove_html_filter() {
remove_filter ( 'bp_get_the_profile_field_edit_value', 'wp_filter_kses', 1 );
}
add_action( 'bp_init', 'edit_value_field_remove_html_filter' );
function data_field_remove_html_filter() {
remove_filter ( 'xprofile_get_field_data', 'xprofile_filter_kses', 1 );
}
add_action( 'bp_init', 'data_field_remove_html_filter' );
function data_value_before_save_remove_html_filter() {
remove_filter( 'xprofile_data_value_before_save', 'xprofile_sanitize_data_value_before_save', 1, 4 );
}
add_action( 'bp_init', 'data_value_before_save_remove_html_filter' );
function value_2_field_remove_html_filter() {
remove_filter( 'bp_get_the_profile_field_value', 'xprofile_filter_kses', 1 );
}
add_action( 'bp_init', 'value_2__field_remove_html_filter' );
function options_before_save_field_remove_html_filter() {
remove_filter( 'xprofile_field_options_before_save', 'bp_xprofile_sanitize_field_options' );
}
add_action( 'bp_init', 'options_before_save_field_remove_html_filter' );
function default_before_save_field_remove_html_filter() {
remove_filter( 'xprofile_field_default_before_save', 'bp_xprofile_sanitize_field_default' );
}
add_action( 'bp_init', 'default_before_save_field_remove_html_filter' );
I have managed to remove the html filter for Name and Description but I am not able to do the same for Xprofile fields what is that I need. Do you have any suggestions?
Hi guys… I know this is a bit old.
I would LOVE to have it as this.
name – gender – age – city | MyWebsite.com
I use the extended profile fields (gender) <- drop down pick only one., (Birthday) as primary and (city) text box.
All are primary and required. I had something like this before (not buddypress) and I found the search results awesome.
Thank you if anyone could help.
The above code works like a charm.
I’ve painfully isolated the issue to Xprofile Custom Fields. After I make changes to the profile fields, the new user registration stops working. (Stops saving new user data – refreshes new user data screen instead of saving.)
Hi
How can i translate the xprofile fields i add, because the title and default content of my custom fields does not appear in WPML string translation …
OB
I have nothing to add to what i wrote previously.
Study wp_kses function and see bp_activity_filters.php and try to deactivate the one or other filter.
You may also read through bp-xprofiles-filters.php to see how wp_editor is handled for xprofile fields using rich edit.
All this at your own risk, you have to know what you do by removing those filters, as it will open a big security hole in your site.
I appreciate your effort, but things like username, email address, and password, are simply not in the profile fields editor; there is no re-arranging them. I wish it was that easy though! That would be nice! This is definitely going to take some php and/or css editing.
You should be able to log in to the WordPress admin area > Users > Profile Fields and then drag the Account Profile fields to the Account Details group.
Hi @ma3ry,
the issue comes probably from the membership plugin who conflicts with BP registration.
In brief, what ever this plugin does(or not), when BP is activated, you have on registration process the WP login routine (username, email, password) and the little mandatory Name field coming from BP.
That’s all.
What probably happen, is that you don’t have this Name field on Single Membership registering…
Because of this, BP doesn’t know about the user existence and can’t fire the additionnal xprofile fields.
That the first diagnostic.
A second one may be more complex, as it is related to the fact you changed the php version and using WP 4.6.x
You certainly made a big DB dump before that change. And also a new WP install – or at least, a WP update. If you made just a WP upgrade, it would be ok to a certain point.
If you started a new install after the php change, the problem can be in the old datas you injected to the new DB. But no panic, it’s only an hypothese at the moment.
So it would be great you give details about this and if possible your server configuration.
Hi,
user metas are part of wordpress and stored in wp_usermeta table
xprofile datas are part of BuddyPress and stored in 4 different tables wp_bp_xprofile_ > data, meta, fields, groups
BuddyPress Database Diagram
https://codex.wordpress.org/Database_Description
What i want is to show view page content in the landing page of buddypress which is home.php . Is there any way i can achieve that?
bp-templates/bp-legacy/buddypress/members/single/home.php contains dynamic templates and shows by default the member activity template.
If you use the above code, you’ll get Resume as default content. This is the simpliest way to achieve what you want.
FYI: the Resume plugin is 4 years old and no more maintained. In 4 years, many things changed in xprofile component and what you actually can do with these fields is much more evoluted than 4 years ago. IMO, you wouldn’t even have to use it, as you can get a similar result directly with BuddyPress.
Basically in the final look I have to remove tabs all together and will have custom links/ buttons here and there to edit profile and cv fields. So I was looking for a hook which will extract cv data onto the landing page. I have copied single directory files into theme child and working on that so basically I want to pull data into home.php file of single directory . hope this explains well
Best recommendation would be to use this premium plugin
WooCommerce BuddyPress Integration
and some additionnal add_on like this one:
https://fr.wordpress.org/plugins/woocommerce-buddypress-integration-xprofile-checkout-manager/
Note: BuddyPress doesn’t handle registering, it only shows the wp-login form with some more fields (if xprofile component is activated).