0

我正在尝试从 csv 文件在 BuddyPress(一个 wordpress 插件)中创建一些组。我几乎成功地做到了这一点,但还有一小部分。

这是我正在使用的代码:

   <?php

include "../../../wp-load.php";

$groups = array();

if (($handle = fopen("testcsv.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $group = array( 
                'name'        => $data[0],
                'creator_id'  => 1, 
                'description' => $data[1], 
                'slug' => groups_check_slug(sanitize_title(esc_attr($data[2]))), 
                'date_created' => gmdate( "Y-m-d H:i:s" ), 
                'status' => 'public' 

 );
        $groups[] = $group;

    }   
    fclose($handle);
}

foreach ($groups as $group) {
    printf("%s<br>\n", $group);
    groups_create_group($group);
} 

?>

数据库中的一切似乎都很好,但与手动添加组不同,wp_bp_groupmeta 没有更新为 total_member_count 1。我在 wp_groups_functions.php 中找到了更新它的函数。

// Modify group member count    groups_update_groupmeta( $group_id, 'total_member_count', (int) groups_get_groupmeta( $group_id, 'total_member_count') - 1 );

我的问题是,如何在所描述的代码中将此函数运行到相关组?

4

1 回答 1

1

您的呼叫从组计数中减去。你需要group_id。

试试这个:

foreach ($groups as $group) {
    printf("%s<br>\n", $group);
    groups_create_group($group);    
    $group_id = $wpdb->insert_id;
    groups_update_groupmeta( $group_id, 'total_member_count', (int) 1 );
}
于 2012-05-22T18:18:16.030 回答