1

これは、BuddyPressでグループを生成することに関連しています。

(この場合は)グループ名、グループの説明、スラッグが記載されたスプレッドシートがあります。

ファイルから情報を取得し、それを配列に変換してから、ループして、毎回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 への呼び出しは、関数に渡す前にスラグをサニタイズする別のメソッドを明示的に呼び出していたことに注意してください。$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 に答える