プログラムでどのようにOGグループを作成しますか?私は node_save()
を試しましたが、喜びはありませんでした。
ノードをグループポストとしてアタッチするよりも簡単です。
<?php
global $user;
$node = new stdClass();
$node->type = 'group'; // Change this to group node type name.
$node->uid = $user->uid;
$node->title = t('Title'); // Change title generation
$node->body = t('Body'); // Change body generation
$node->og_description = t('Group description'); // Change group description generation
$node->og_selective = OG_CLOSED;
$node->og_register = OG_REGISTRATION_NEVER;
$node->og_directory = OG_DIRECTORY_CHOOSE_FALSE;
$node->og_private = 0;
node_save($node);
og_insert_group($node);
og_save_subscription($node->nid, $node->uid, array('is_active' => 1, 'is_admin' => 1));
(もちろん、3つの関数すべてからの戻り値も確認する必要があります)
質問は本当にわかりませんが、 Mass Create モジュールを使用して多くのグループを作成しました。
私も同じように苦労していましたが、プログラムで新しいOGグループを作成するには、Rulesモジュールが重要であることに気づきました。
適切なトリガーと条件を探す場合、最初のアクションは「エンティティ>新しいエンティティの作成> OGグループ」です。
必要に応じて、ルールスケジューラを使用してタイミングを計ることができます。