Tagged: Age, bp-xprofile-custom-field-types, code, Xprofile Fields
Hi there, I found the ‘Add Xprofile fields to the members directory’ in the Code Snippets directory, and it is working flawless. Except for for the Birthdate selector, which apparently is not recognized by the code.
Is there a way I can make it work with the Birthdate selector?
Regards
CarstenHi Carsten,
Please share the code that you are using to show the xprofile field.Regards
BrajeshHi Brajesh, it is the code from BuddyDevs own Code Snippet directory by bphelp:
Add Xprofile fields to the members directory
PHP
// Here is one way you could add xprofile fields name as well as the value to the members directory!
// Just remember to replace “Field-Name” with the names of your fields in the 5 variables in my code.
// Also remember the field name is case sensitive. If you notice the pattern of 5 in my code you can
// easily see how to add more fields if you need them. You can also use the div class bph_xprofile_fields
// to adjust the CSS in your stylesheet. Place this code in bp-custom.php:
add_action(‘bp_directory_members_item’, ‘bphelp_dpioml’);
function bphelp_dpioml(){
$bphelp_my_profile_field_1=’Field-Name’;
$bphelp_my_profile_field_2=’Field-Name’;
$bphelp_my_profile_field_3=’Field-Name’;
$bphelp_my_profile_field_4=’Field-Name’;
$bphelp_my_profile_field_5=’Field-Name’;
if( is_user_logged_in() && bp_is_members_component() ) { ?>
<div class=”bph_xprofile_fields” style=” margin-left: 25%;”>
<?php echo $bphelp_my_profile_field_1 ?>: <?php echo bp_member_profile_data( ‘field=’.$bphelp_my_profile_field_1 ); ?><br />
<?php echo $bphelp_my_profile_field_2 ?>: <?php echo bp_member_profile_data( ‘field=’.$bphelp_my_profile_field_2 ); ?><br />
<?php echo $bphelp_my_profile_field_3 ?>: <?php echo bp_member_profile_data( ‘field=’.$bphelp_my_profile_field_3 ); ?><br />
<?php echo $bphelp_my_profile_field_4 ?>: <?php echo bp_member_profile_data( ‘field=’.$bphelp_my_profile_field_4 ); ?><br />
<?php echo $bphelp_my_profile_field_5 ?>: <?php echo bp_member_profile_data( ‘field=’.$bphelp_my_profile_field_5 ); ?><br />
</div><?php
}
}Thank you. I will check and post back in an hour.
Regards
BrajeshHi Carsten,
I have looked into it. There is a bug in bp_member_profile_data and it does not passes the field id. Since the field id is not available, the custom fields plugin is unable to know whether age is required or date.There is a solution. Inside the members loop you can use
<?php echo xprofile_get_field_data( 'Date Field Name', bp_get_member_user_id() );?>
That will give the correct data.
For efficiency, you can replace the field name with id too.Regards
BrajeshHi Carsten,
You are welcome.1. You can use the above code anywhere you were able to use the previous snippet.
2. You an find the members loop in your-child-theme(or theme)/buddypress/members/members-loop.php if it is not there, you can copy it from wp-content/plugins/buddypress/bp-templates/(bp-legacy or bp-nouveau depending on the active template pack)/buddypress/members/ directory.If it is not in your theme and you plan to modify it, copy it to yourtheme/buddypress/members/members-loop.php
Regards
BrajeshHi again, I am sorry, but I can’t get it to work.
I inserted the snippet in bp-custom.php, changed ‘Date Field Name’ with ‘age’ according to the profile field, but it does not show the value.
‘For efficiency, you can replace the field name with id too.’
Please explain what you mean by this?Regards
CarstenHi Carsten,
I am sorry but you can not use the snippet in bp-custom.php directly. Are you using it with some hook? If yes, Please post the complete snippet here (or on pastebin). To post snippet here, please use backtick(`) to enclose the code.Regards
Brajesh
You must be logged in to reply to this topic.