这与在BuddyPress中生成组有关。
我有一个电子表格(在本例中)是一个组名,组描述和slug。
我需要从文件中获取信息,将其转换为数组,然后遍历它并每次调用groups_create_group()。
我可以在bp-groups.php(http://www.nomorepasting.com/getpaste.php?pasteid=35217)中找到该功能。它告诉我你需要填写的所有参数。
我对此很陌生并且正在寻找如何做到这一点。你知道我如何获取这些信息并将其变成数组吗?它通过循环并每次调用groups_create_group()?
如果您有任何关于此的方便链接,我将非常感激。
答案 0 :(得分: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,然后再将其传递给函数。因此,您可能希望将$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'
);