调用一个向mySQL添加内容的函数

时间:2012-05-22 16:24:15

标签: wordpress buddypress

我正在尝试从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 );

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

1 个答案:

答案 0 :(得分: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 );
}