本文整理汇总了PHP中bp_disable_profile_sync函数的典型用法代码示例。如果您正苦于以下问题:PHP bp_disable_profile_sync函数的具体用法?PHP bp_disable_profile_sync怎么用?PHP bp_disable_profile_sync使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了bp_disable_profile_sync函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: xprofile_sync_bp_profile
/**
* Syncs the standard built in WordPress profile data to XProfile.
*
* @since BuddyPress (1.2.4)
* @package BuddyPress Core
*/
function xprofile_sync_bp_profile(&$errors, $update, &$user)
{
// Bail if profile syncing is disabled
if (bp_disable_profile_sync() || !$update || $errors->get_error_codes()) {
return;
}
xprofile_set_field_data(bp_xprofile_fullname_field_id(), $user->ID, $user->display_name);
}
示例2: prepare_user_ids_query
/**
* Prepare the query for user_ids.
*
* @since 1.7.0
*/
public function prepare_user_ids_query()
{
global $wpdb;
$bp = buddypress();
// Default query variables used here.
$type = '';
$per_page = 0;
$page = 1;
$user_id = 0;
$include = false;
$search_terms = false;
$exclude = false;
$meta_key = false;
$meta_value = false;
extract($this->query_vars);
// Setup the main SQL query container.
$sql = array('select' => '', 'where' => array(), 'orderby' => '', 'order' => '', 'limit' => '');
/* TYPE **************************************************************/
// Determines the sort order, which means it also determines where the
// user IDs are drawn from (the SELECT and WHERE statements).
switch ($type) {
// 'online' query happens against the last_activity usermeta key
// Filter 'bp_user_query_online_interval' to modify the
// number of minutes used as an interval.
case 'online':
$this->uid_name = 'user_id';
$this->uid_table = $bp->members->table_name_last_activity;
$sql['select'] = "SELECT u.{$this->uid_name} as id FROM {$this->uid_table} u";
$sql['where'][] = $wpdb->prepare("u.component = %s AND u.type = 'last_activity'", buddypress()->members->id);
/**
* Filters the threshold for activity timestamp minutes since to indicate online status.
*
* @since 1.8.0
*
* @param int $value Amount of minutes for threshold. Default 15.
*/
$sql['where'][] = $wpdb->prepare("u.date_recorded >= DATE_SUB( UTC_TIMESTAMP(), INTERVAL %d MINUTE )", apply_filters('bp_user_query_online_interval', 15));
$sql['orderby'] = "ORDER BY u.date_recorded";
$sql['order'] = "DESC";
break;
// 'active', 'newest', and 'random' queries
// all happen against the last_activity usermeta key.
// 'active', 'newest', and 'random' queries
// all happen against the last_activity usermeta key.
case 'active':
case 'newest':
case 'random':
$this->uid_name = 'user_id';
$this->uid_table = $bp->members->table_name_last_activity;
$sql['select'] = "SELECT u.{$this->uid_name} as id FROM {$this->uid_table} u";
$sql['where'][] = $wpdb->prepare("u.component = %s AND u.type = 'last_activity'", buddypress()->members->id);
if ('newest' == $type) {
$sql['orderby'] = "ORDER BY u.user_id";
$sql['order'] = "DESC";
} elseif ('random' == $type) {
$sql['orderby'] = "ORDER BY rand()";
} else {
$sql['orderby'] = "ORDER BY u.date_recorded";
$sql['order'] = "DESC";
}
break;
// 'popular' sorts by the 'total_friend_count' usermeta.
// 'popular' sorts by the 'total_friend_count' usermeta.
case 'popular':
$this->uid_name = 'user_id';
$this->uid_table = $wpdb->usermeta;
$sql['select'] = "SELECT u.{$this->uid_name} as id FROM {$this->uid_table} u";
$sql['where'][] = $wpdb->prepare("u.meta_key = %s", bp_get_user_meta_key('total_friend_count'));
$sql['orderby'] = "ORDER BY CONVERT(u.meta_value, SIGNED)";
$sql['order'] = "DESC";
break;
// 'alphabetical' sorts depend on the xprofile setup.
// 'alphabetical' sorts depend on the xprofile setup.
case 'alphabetical':
// We prefer to do alphabetical sorts against the display_name field
// of wp_users, because the table is smaller and better indexed. We
// can do so if xprofile sync is enabled, or if xprofile is inactive.
//
// @todo remove need for bp_is_active() check.
if (!bp_disable_profile_sync() || !bp_is_active('xprofile')) {
$this->uid_name = 'ID';
$this->uid_table = $wpdb->users;
$sql['select'] = "SELECT u.{$this->uid_name} as id FROM {$this->uid_table} u";
$sql['orderby'] = "ORDER BY u.display_name";
$sql['order'] = "ASC";
// When profile sync is disabled, alphabetical sorts must happen against
// the xprofile table.
} else {
$this->uid_name = 'user_id';
$this->uid_table = $bp->profile->table_name_data;
$sql['select'] = "SELECT u.{$this->uid_name} as id FROM {$this->uid_table} u";
$sql['where'][] = $wpdb->prepare("u.field_id = %d", bp_xprofile_fullname_field_id());
$sql['orderby'] = "ORDER BY u.value";
$sql['order'] = "ASC";
}
//.........这里部分代码省略.........
示例3: bp_admin_setting_callback_profile_sync
/**
* Enable BP->WP profile syncing field.
*
* @since 1.6.0
*
* @uses bp_form_option() To output the option value.
*/
function bp_admin_setting_callback_profile_sync()
{
?>
<input id="bp-disable-profile-sync" name="bp-disable-profile-sync" type="checkbox" value="1" <?php
checked(!bp_disable_profile_sync(false));
?>
/>
<label for="bp-disable-profile-sync"><?php
_e('Enable BuddyPress to WordPress profile syncing', 'buddypress');
?>
</label>
<?php
}
示例4: prepare_user_ids_query
/**
* Prepare the query for user_ids
*
* @since BuddyPress (1.7)
*/
public function prepare_user_ids_query()
{
global $wpdb, $bp;
// Default query variables used here
$type = '';
$per_page = 0;
$page = 1;
$user_id = 0;
$include = false;
$search_terms = false;
$exclude = false;
$meta_key = false;
$meta_value = false;
extract($this->query_vars);
// Setup the main SQL query container
$sql = array('select' => '', 'where' => array(), 'orderby' => '', 'order' => '', 'limit' => '');
/** TYPE **************************************************************/
// Determines the sort order, which means it also determines where the
// user IDs are drawn from (the SELECT and WHERE statements)
switch ($type) {
// 'online' query happens against the last_activity usermeta key
// Filter 'bp_user_query_online_interval' to modify the
// number of minutes used as an interval
case 'online':
$this->uid_name = 'user_id';
$sql['select'] = "SELECT DISTINCT u.{$this->uid_name} as id FROM {$wpdb->usermeta} u";
$sql['where'][] = $wpdb->prepare("u.meta_key = %s", bp_get_user_meta_key('last_activity'));
$sql['where'][] = $wpdb->prepare("u.meta_value >= DATE_SUB( UTC_TIMESTAMP(), INTERVAL %d MINUTE )", apply_filters('bp_user_query_online_interval', 15));
$sql['orderby'] = "ORDER BY u.meta_value";
$sql['order'] = "DESC";
break;
// 'active', 'newest', and 'random' queries
// all happen against the last_activity usermeta key
// 'active', 'newest', and 'random' queries
// all happen against the last_activity usermeta key
case 'active':
case 'newest':
case 'random':
$this->uid_name = 'user_id';
$sql['select'] = "SELECT DISTINCT u.{$this->uid_name} as id FROM {$wpdb->usermeta} u";
$sql['where'][] = $wpdb->prepare("u.meta_key = %s", bp_get_user_meta_key('last_activity'));
if ('newest' == $type) {
$sql['orderby'] = "ORDER BY u.user_id";
$sql['order'] = "DESC";
} else {
if ('random' == $type) {
$sql['orderby'] = "ORDER BY rand()";
} else {
$sql['orderby'] = "ORDER BY u.meta_value";
$sql['order'] = "DESC";
}
}
break;
// 'popular' sorts by the 'total_friend_count' usermeta
// 'popular' sorts by the 'total_friend_count' usermeta
case 'popular':
$this->uid_name = 'user_id';
$sql['select'] = "SELECT DISTINCT u.{$this->uid_name} as id FROM {$wpdb->usermeta} u";
$sql['where'][] = $wpdb->prepare("u.meta_key = %s", bp_get_user_meta_key('total_friend_count'));
$sql['orderby'] = "ORDER BY CONVERT(u.meta_value, SIGNED)";
$sql['order'] = "DESC";
break;
// 'alphabetical' sorts depend on the xprofile setup
// 'alphabetical' sorts depend on the xprofile setup
case 'alphabetical':
// We prefer to do alphabetical sorts against the display_name field
// of wp_users, because the table is smaller and better indexed. We
// can do so if xprofile sync is enabled, or if xprofile is inactive.
//
// @todo remove need for bp_is_active() check
if (!bp_disable_profile_sync() || !bp_is_active('xprofile')) {
$this->uid_name = 'ID';
$sql['select'] = "SELECT DISTINCT u.{$this->uid_name} as id FROM {$wpdb->users} u";
$sql['orderby'] = "ORDER BY u.display_name";
$sql['order'] = "ASC";
// When profile sync is disabled, alphabetical sorts must happen against
// the xprofile table
} else {
$fullname_field_id = $wpdb->get_var($wpdb->prepare("SELECT id FROM {$bp->profile->table_name_fields} WHERE name = %s", bp_xprofile_fullname_field_name()));
$this->uid_name = 'user_id';
$sql['select'] = "SELECT DISTINCT u.{$this->uid_name} as id FROM {$bp->profile->table_name_data} u";
$sql['where'][] = "u.field_id = {$fullname_field_id}";
$sql['orderby'] = "ORDER BY u.value";
$sql['order'] = "ASC";
}
break;
// Any other 'type' falls through
// Any other 'type' falls through
default:
$this->uid_name = 'ID';
$sql['select'] = "SELECT DISTINCT u.{$this->uid_name} as id FROM {$wpdb->users} u";
// In this case, we assume that a plugin is
// handling order, so we leave those clauses
// blank
break;
//.........这里部分代码省略.........
示例5: prepare_user_ids_query
/**
* Prepare the query for user_ids.
*
* @since BuddyPress (1.7.0)
*/
public function prepare_user_ids_query() {
global $wpdb, $bp;
// Default query variables used here
$type = '';
$per_page = 0;
$page = 1;
$user_id = 0;
$include = false;
$search_terms = false;
$exclude = false;
$meta_key = false;
$meta_value = false;
extract( $this->query_vars );
// Setup the main SQL query container
$sql = array(
'select' => '',
'where' => array(),
'orderby' => '',
'order' => '',
'limit' => ''
);
/** TYPE **************************************************************/
// Determines the sort order, which means it also determines where the
// user IDs are drawn from (the SELECT and WHERE statements)
switch ( $type ) {
// 'online' query happens against the last_activity usermeta key
// Filter 'bp_user_query_online_interval' to modify the
// number of minutes used as an interval
case 'online' :
$this->uid_name = 'user_id';
$this->uid_table = $bp->members->table_name_last_activity;
$sql['select'] = "SELECT u.{$this->uid_name} as id FROM {$this->uid_table} u";
$sql['where'][] = $wpdb->prepare( "u.component = %s AND u.type = 'last_activity'", buddypress()->members->id );
$sql['where'][] = $wpdb->prepare( "u.date_recorded >= DATE_SUB( UTC_TIMESTAMP(), INTERVAL %d MINUTE )", apply_filters( 'bp_user_query_online_interval', 15 ) );
$sql['orderby'] = "ORDER BY u.date_recorded";
$sql['order'] = "DESC";
break;
// 'active', 'newest', and 'random' queries
// all happen against the last_activity usermeta key
case 'active' :
case 'newest' :
case 'random' :
$this->uid_name = 'user_id';
$this->uid_table = $bp->members->table_name_last_activity;
$sql['select'] = "SELECT u.{$this->uid_name} as id FROM {$this->uid_table} u";
$sql['where'][] = $wpdb->prepare( "u.component = %s AND u.type = 'last_activity'", buddypress()->members->id );
if ( 'newest' == $type ) {
$sql['orderby'] = "ORDER BY u.user_id";
$sql['order'] = "DESC";
} elseif ( 'random' == $type ) {
$sql['orderby'] = "ORDER BY rand()";
} else {
$sql['orderby'] = "ORDER BY u.date_recorded";
$sql['order'] = "DESC";
}
break;
// 'popular' sorts by the 'total_friend_count' usermeta
case 'popular' :
$this->uid_name = 'user_id';
$this->uid_table = $wpdb->usermeta;
$sql['select'] = "SELECT u.{$this->uid_name} as id FROM {$this->uid_table} u";
$sql['where'][] = $wpdb->prepare( "u.meta_key = %s", bp_get_user_meta_key( 'total_friend_count' ) );
$sql['orderby'] = "ORDER BY CONVERT(u.meta_value, SIGNED)";
$sql['order'] = "DESC";
break;
// 'alphabetical' sorts depend on the xprofile setup
case 'alphabetical' :
// We prefer to do alphabetical sorts against the display_name field
// of wp_users, because the table is smaller and better indexed. We
// can do so if xprofile sync is enabled, or if xprofile is inactive.
//
// @todo remove need for bp_is_active() check
if ( ! bp_disable_profile_sync() || ! bp_is_active( 'xprofile' ) ) {
$this->uid_name = 'ID';
$this->uid_table = $wpdb->users;
$sql['select'] = "SELECT u.{$this->uid_name} as id FROM {$this->uid_table} u";
$sql['orderby'] = "ORDER BY u.display_name";
$sql['order'] = "ASC";
// When profile sync is disabled, alphabetical sorts must happen against
// the xprofile table
//.........这里部分代码省略.........
示例6: bp_friends_prime_mentions_results
/**
* Used by the Activity component's @mentions to print a JSON list of the current user's friends.
*
* This is intended to speed up @mentions lookups for a majority of use cases.
*
* @since 2.1.0
*
* @see bp_activity_mentions_script()
*/
function bp_friends_prime_mentions_results()
{
if (!bp_activity_maybe_load_mentions_scripts()) {
return;
}
// Bail out if the site has a ton of users.
if (is_multisite() && wp_is_large_network('users')) {
return;
}
if (friends_get_total_friend_count(get_current_user_id()) > 150) {
return;
}
$friends_query = array('count_total' => '', 'populate_extras' => false, 'type' => 'alphabetical', 'user_id' => get_current_user_id());
$friends_query = new BP_User_Query($friends_query);
$results = array();
foreach ($friends_query->results as $user) {
$result = new stdClass();
$result->ID = $user->user_nicename;
$result->image = bp_core_fetch_avatar(array('html' => false, 'item_id' => $user->ID));
if (!empty($user->display_name) && !bp_disable_profile_sync()) {
$result->name = $user->display_name;
} else {
$result->name = bp_core_get_user_displayname($user->ID);
}
$results[] = $result;
}
wp_localize_script('bp-mentions', 'BP_Suggestions', array('friends' => $results));
}