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 に答える