Forum Replies Created
-
Note: there is no transcription error, the field 315 references the allowed values for field 307
Found it, I think:
$field = xprofile_get_field( 315 ); echo "Field name: " . $field->name; // Field name: Subscribe to Free Newsletter
A quick followup, I see the permitted field value for the checkbox (in this case) is stored in field 315 in table
wp_bp_xprofile_fields
– how do I query this checkbox setting value?I want to pull the correct value from the database, so in case I update that checkbox field’s option in the backend, I can correctly set it.
I don’t see a function in
/buddypress/bp-xprofile/bp-xprofile-functions.php:
that seems to pull this, and nothing is locking in with Google….So simple! Not obvious, though. I couldn’t even find
xprofile_set_field_data
documented in the Codex (althoughxprofile_get_field_data
is). Thanks Shane, not the first time you’ve dug me out :o)To keep this simple, and for illustration purpose, I edited the data I wanted to update in the question, which given it’s a checkbox, is confusing.
I actually want to toggle that element off, so I assume I’d actually either a) update the array to an empty field, or b) delete the entry entirely.
I assume I want to change the field to an empty string, but now that doesn’t seem as obvious. Some guidance is appreciated on updating this field and any curves a checkbox might throw in working with BP XProfile fields.
Double d’oh! I wasn’t logged in when I tested it just now. I was right, it was a dumb question. Thanks Shane!
D’oh, I wanted a generic testing function and that obviously wouldn’t work in that context.
However, I did change it to the function you suggested and it’s still not outputting data. There must be a missing step in loading and making BuddyPress functions available in my own custom template pages.
Bingo! Thanks Henry… 🙂
I didn’t have any luck with the
wp_title()
function/hook either, so I’ll next climb into the core a bit to see if I can get anywhere. Reference and implementations for title functions in BuddyPress seem to be scarcely documented on the web, so I was hoping to get some insight from the experts here, as well as leave a few breadcrumbs for developers in the future. That could be especially helpful as WP/BP transition away from thewp_title()
function.Hi Henry – thanks for response. As confirmed by both the Codex (Code Reference) and my successful use of this method in the same installation outside of BuddyPress, $title is indeed an array.
In fact, I tested my function without the
if ( bp_is_group() ){
conditional, and the filter works on the pages NOT created/affected by BuddyPress, which confirms BuddyPress is bypassing this filter.For testing purposes, I modified the function as follows:
// test parameters passed to document_title_parts filter function test_groups_title( $title ){ print_r( $title ); exit; } add_filter('document_title_parts', 'test_groups_title', 10);
And BuddyPress pages output the following array:
Array ( [title] => [site] => My-Website.com )
Which suggests that BuddyPress is neither supplying data to this array nor utilizing it for the title output.
I did a grep of BuddyPress and bbPress and I am finding calls to the deprecated
wp_title()
function:$ grep -r 'wp_title' ../plugins/b*press/* ../plugins/bbpress/includes/core/filters.php:add_filter( 'wp_title', 'bbp_title', 10, 3 ); ../plugins/bbpress/readme.txt:* Fix custom wp_title compatibility ../plugins/buddypress/bp-core/bp-core-filters.php: * @see wp_title() ../plugins/buddypress/bp-core/bp-core-filters.php: * @see wp_title() ../plugins/buddypress/bp-core/bp-core-filters.php: * Filters the older 'wp_title' page title for BuddyPress pages. ../plugins/buddypress/bp-core/bp-core-filters.php:add_filter( 'wp_title', 'bp_modify_page_title', 20, 3 ); ../plugins/buddypress/bp-core/deprecated/1.5.php: * @deprecated Use wp_title() ../plugins/buddypress/bp-core/deprecated/1.5.php: * Now, just simply use wp_title(). ../plugins/buddypress/bp-core/deprecated/1.5.php: * @deprecated Use wp_title() ../plugins/buddypress/bp-core/deprecated/1.5.php: _deprecated_function( __FUNCTION__, '1.5', 'wp_title()' ); ../plugins/buddypress/bp-core/deprecated/1.5.php: $title = wp_title( '|', false, 'right' ) . get_bloginfo( 'name', 'display' ); ../plugins/buddypress/bp-themes/bp-default/header.php: <title><?php wp_title( '|', true, 'right' ); bloginfo( 'name' ); ?></title> ../plugins/buddypress/bp-themes/bp-default/archive.php: <h3 class="pagetitle"><?php printf( __( 'You are browsing the archive for %1$s.', 'buddypress' ), wp_title( false, false ) ); ?></h3>
I guess this means I can and should hook in to the older (deprecated)
wp_title()
function? I’m a bit new to BuddyPress and WordPress, so maybe I’m missing something obvious, or barking up the wrong tree here….I think you may want the funtion wp_extract_urls().
So for example:
$url = wp_extract_urls( xprofile_get_field_data( '23', $user->ID ) ); echo "URL: $url[0]";
New to WP coding but this worked for me…