gpt4 book ai didi

php - Buddypress 自定义事件循环和查询功能

转载 作者:行者123 更新时间:2023-11-29 02:52:25 26 4
gpt4 key购买 nike

我向我的个人资料页面添加了一个额外的事件提要,用于查询链接的用户并返回他们的事件。问题是,我想将其写入函数,因为网站的其他区域通常需要使用相同的查询。

这是用户查询。这只是一个查找并返回链接用户 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

最佳答案

如果您想在 functions.php 文件中调用函数,请使用钩子(Hook)。请注意代码中的 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');

之后尝试调用该函数。希望对您有所帮助。

关于php - Buddypress 自定义事件循环和查询功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34279675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com