根据循环中的作者ID检查数组

时间:2015-12-29 作者:dwinnbrown

所以我在Wordpress中有一个函数,它带有一个插件,可以以数组的形式返回朋友列表。功能代码如下:

function friends_get_list($tmp_uid, $friend_status=1) {
    global $wpdb;

    $friend_status = intval($friend_status);
    if (($friend_status != 1) && ($friend_status != 0))
        $friend_status = 1;

    if ( $friends_list = get_transient( \'wpmudev-friends-\'. $tmp_uid .\'-\'. $friend_status ) ) {
        return $friends_list;
    }

    $query = $wpdb->prepare("SELECT friend_user_ID FROM " . $wpdb->base_prefix . "friends WHERE user_ID = %d AND friend_approved = %d",
        $tmp_uid, $friend_status);
    //echo "query=[". $query ."]<br />";
    $friends_list = $wpdb->get_col($query);
    set_transient( \'wpmudev-friends-\'. $tmp_uid .\'-\'. $friend_status, $friends_list, 60 );

    return $friends_list;
}
然后,我想调用此函数来获取当前用户朋友的列表,然后对照所显示帖子的作者进行检查。我可以这样做:$friendsIdArray = friends_get_list( get_current_user_id(), 1 ) ; 只要我引用该函数,它就会返回当前用户的所有已确认好友。然后我想在Wordpress查询中包含这一点,以仅显示由当前用户的好友作者创建的帖子。我相信我可以使用此代码将结果加载到变量中:$query = new WP_Query( array( \'author\' => implode( ",", $friendsIdArray ) ); 但我不确定这应该在wordpress循环中的什么地方才能达到预期的结果。非常感谢您的帮助!

1 个回复
SO网友:s_ha_dum

你真的想要author__in, 您可以使用阵列。你不应该让它内爆:

$query = new WP_Query( 
  array( 
    \'author__in\' => $friendsIdArray 
  )
);
至于这个循环中的什么地方,我不确定我是否理解。这发生在创建a循环之前,而不是在其中。

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请