2015-12-15 40 views
2

我向我的個人資料頁面添加了一個額外的活動源,用於查詢鏈接用戶並返回其活動。問題是,我想把它寫到一個函數中,因爲經常會有網站的其他區域需要使用相同的查詢。Buddypress自定義活動循環和查詢功能

這裏是用戶查詢。這只是比較查詢來查找並返回鏈接的用戶的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; 

然後將其用於活動循環中。

<?php if (bp_has_activities(bp_ajax_querystring('activity') . $partner)) : ?> 

然而,重寫這是一個函數,然後調用該函數循環之前對的,儘管它仍然會返回ID,它不再工作的活動循環的緣故。

功能:(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)) : ?> 

錯誤更新: enter image description here enter image description here

回答

1

如果你想在你的functions.php文件中調用一個函數使用hooks。請注意global bp在您的代碼中,因爲您忘記添加$符號。

例子:

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; 
    } 
//sample hook 
add_action('admin_init','sw_partner_id'); 

之後嘗試調用該函數。 我希望有所幫助。

+0

感謝您的評論,但我也嘗試去那條路線沒有成功。 –

+0

@Charles我已經更新我的答案,請注意'全球$ bp'。此外,如果您在開發模式下嘗試將wp-config調試更改爲true,以便您可以查看錯誤。 –

+0

缺少的$只是一個粘貼錯誤。調試正在踢出活動循環線上的未定義變量。 –