1

这与在 BuddyPress 中生成组有关。

我有一个带有(在这种情况下)组名、组描述和 slug 的电子表格。

我需要从文件中获取信息,将其转换为数组,然后循环遍历它并每次调用 groups_create_group()。

我可以在 bp-groups.php (http://www.nomorepasting.com/getpaste.php?pasteid=35217) 中找到该函数。它告诉我你需要填写的所有参数。

我对此很陌生,正在寻找如何做到这一点。您知道我如何获取这些信息并将其转换为数组吗?每次都循环并调用 groups_create_group() 吗?

如果您对此也有任何方便的链接,我将不胜感激。

4

1 回答 1

2

只要您有可用的功能 groups_create_group (即已包含所需的文件),您应该能够执行类似的操作

<?php

$groups = array();

if (($handle = fopen("groupData.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $group = array('group_id' => 'SOME ID', 'name' => $data[0], 'description' => $data[1], 'slug' => $data[2], 'date_created' => gmdate( "Y-m-d H:i:s" ), 'status' => 'public' );
        $groups[] = $group;
    }   
    fclose($handle);
}

foreach ($groups as $group) {
    groups_create_group($group);
} 

请注意,您提供的粘贴代码中对 groups_create_group 的调用是在将 slug 传递给函数之前显式调用另一种方法来清理 slug。因此,您可能希望将$group变量的赋值更改为:

 $group = array('group_id'    => 'SOME ID', 
                'name'        => $data[0], 
                'description' => $data[1], 
                'slug' => groups_check_slug(sanitize_title(esc_attr($data[2]))), 
                'date_created' => gmdate( "Y-m-d H:i:s" ), 
                'status' => 'public' 
 );
于 2010-12-28T18:26:54.247 回答