我正在尝试从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 );
我的问题是,如何在描述的代码中对相关组运行此函数?
答案 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 );
}