Я добавил дополнительную страницу активности на мою страницу профиля, которая запрашивает связанного пользователя и возвращает их активность. Проблема в том, что я хочу записать это в функцию, так как часто будут другие области сайта, которые должны использовать этот же запрос.Цепочка пользовательской активности Buddypress и функция запроса
Вот запрос пользователя. Это просто запрос на сравнение, чтобы найти и вернуть идентификатор связанного пользователя.
global $bp, $wpdb;
$myid = $bp->loggedin_user->id;
$ourlink = $wpdb->get_var("SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = 'linkid' AND user_id = '$myid'");
$partnerid = $wpdb->get_var("SELECT user_id from $wpdb->usermeta where meta_key='linkid' AND meta_value = '$ourlink' AND user_id != '$myid'");
$partner = '&user_id=' . $partnerid;
Которая затем используется в цикле деятельности.
<?php if (bp_has_activities(bp_ajax_querystring('activity') . $partner)) : ?>
Однако, перезапись это как функция и затем вызов этой функции прямо перед циклом, хотя он все равно будет возвращать идентификатор, он больше не работает ради цикла активности.
Функция: (в WP файл functions.php)
function sw_partner_id() {
global $bp, $wpdb;
$myid = $bp->loggedin_user->id;
$ourlink = $wpdb->get_var("SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = 'linkid' AND user_id = '$myid'");
$partnerid = $wpdb->get_var("SELECT user_id from $wpdb->usermeta where meta_key='linkid' AND meta_value = '$ourlink' AND user_id != '$myid'");
$partner = '&user_id=' . $partnerid;
return $partner;
}
Вызов функции до цикла активности
<?php sw_partner_id(); ?>
<?php if (bp_has_activities(bp_ajax_querystring('activity') . $partner)) : ?>
Спасибо за комментарий, но я также пробовал идти по этому маршруту без успеха. –
@Charles У меня есть обновленный ответ, пожалуйста, обратите внимание на глобальный $ bp. А также, если ваш режим разработки попытается изменить wp-config debug на true, чтобы вы могли видеть ошибки. –
Недостающий $ был просто ошибкой вставки. Debug выдает неопределенную переменную в строке цикла активности. –