I have successfully added profile2 module form in custom area using both ctools widget and blocks by this code: global $ user; module_load_include(‘inc’, ‘profile2_page’, ‘profile2_page’); $ profile2 = profile2_load_by_user($ user->uid, ‘teacher_profile’); if (!$ profile2) { $ profile2 = profile2_create(array(‘type’ => ‘teacher_profile’)); $ profile2->setUser($ user); $ profile2->is_new = TRUE; $ profile2->save(); $ profile2 = profile2_load_by_user($ user->uid,Read more