在循环中使用BuddyPress数据(Mkdir)

时间:2015-05-20 作者:Guit4eva

我正在尝试基于BuddyPress字段为每个用户创建一个文件夹,方法如下:

bp_member_profile_data( \'field=ID Number\' );
如果我将上述代码与mkdir一起使用,它将不起作用(即,文件夹名称将只是“User-”(没有ID号)

这是我的循环代码:

<?php
if ( bp_has_members( \'per_page=0\', bp_ajax_querystring( \'members\' ) ) ) :
do_action( \'bp_before_directory_members_list\' );

while ( bp_members() ) : bp_the_member(); ?>

$member = bp_member_profile_data( \'field=ID Number\' );
mkdir("SiteUsers/User - " . $member ,0755, true );

endwhile; endif;
?>
我不知道我错在哪里,如果有人能帮我,我会非常感激。

1 个回复
最合适的回答,由SO网友:shanebp 整理而成

它不起作用(即,文件夹名称仅为“User-”(带noID号)

你检查过了吗bp_member_profile_data( \'field=ID Number\' ); 是否作为值返回?该函数将echo 值。要仅返回值,请使用bp_get_member_profile_data( \'field=ID Number\' );

但是看在上帝的份上。。。为什么要使用成员循环来执行此操作?

什么是bp_member_profile_data( \'field=ID Number\' );
成员id?或者您为每个成员分配的自定义id?如果是,为什么?

对于一次性创建此类目录,我会这样做,假设您希望每个用户都有一个目录:

function create_user_dirs() {
 
    $users = get_users( array( \'fields\' => \'ID\' ) );

    $path = // put the absolute path to the existing \'SiteUsers\' directory here

    foreach ( $users as $user_id )
        wp_mkdir_p( $path . \'/\' . $user_id );
      
}
如果“field=ID Number”与user\\u ID确实不同,请执行以下操作:

foreach ( $users as $user_id ) {
    $id_number = xprofile_get_field_data( \'ID Number\', $user_id, \'comma\' );
    wp_mkdir_p( $path . \'/\' . $id_number );
}
使用wp_mkdir_p

我相信它将权限设置为755或父目录设置为的任何内容。

结束

相关推荐

将编辑导航链接添加到Custom BuddyPress配置文件选项卡

我已经为我的buddypress用户配置文件创建了一个名为“目标”的自定义选项卡它显示xprofile字段,我只需要知道如何在指向“目标”xprofile编辑链接选项卡的子AV上创建动态链接,例如www.dev.globalsportcoach。com/members/USERNAME/profile/edit/group/8/subnav目前正在通过以下方式生成,但是我尝试了link参数的一些变体,但无法使其正确结构。bp_core_new_subnav_item( array( \'nam