Tagged: Buddypress Member Types Pro, code, member types
Hi Herver,
Please use backticks(`) to post the code here.1. No conflict with Force Profile. It does have a bit of that plugin but both will work.
2. You will see this codebp_set_member_type( $user_id, 'member_type_unique_name', $append ); // change it.
Change it to
bp_set_member_type( $user_id, 'student', $append ); // change 'student' with your own unique name.
3. Sorry, this code does not cover that. I am not sure what you mean by switching membership. I thought your goal was to set the member type when avatar is uploaded & required fields completed.
4. I haven’t added the code for showing the notice. You can use the method ‘has_required_field_data( $user_id)’ to check for it and show the message.
If you want me to add it, please let me know and I will add it.
Also, if you are not comfortable with the code, please post me the message and the member type name and I will update it.
Thank you
BrajeshHi Brajesh
1 / super
2 / I understood that :-). My request was to put a variable in place to put at the beginning of the file, all my variables. Is it correct ?
3 / when everything is good, there is a change of state of the member (role, type and plan). I did not say it at first because I thought to adapt my initial code. But it seems to me that this is the right place to put a do_action . Is it
correct ?4 / I look at this. Probably I will need help to finalize the code … by paying
Regards
Hi Herve,
Thank you for the patience.I have updated the gist
https://gist.github.com/sbrajesh/238153f70f770f957fd1c4b2ba60be77Now, I have placed placeholder for the member type and message there. Please update that.
About your other membership etc, I will suggest either hooking to “buddydev_bp_user_profile_completed” action or just put all the code in the set_member_type() method. That will be sufficient.
Regards
BrajeshHi Brajesh
I’m sorry but I’m going to need help again
I have a big problem with the program.
When a member changes their profile picture, the program immediately puts it back in the base role.
I just checked it.
I updated the version on https://gist.github.com/sbrajesh/238153f70f770f957fd1c4b2ba60be77
RegardsRe
I believe this comes from the code, to handle the case where the member removes his photo :public function mark_incomplete_profile( $user_id ) { do_action( 'arm_apply_plan_to_member', 1, $user_id); // 10/01/18: HD AJOUT pour rejoindre plan sans profil finalisé (& role: subscriber) return delete_user_meta( $user_id, '_has_complete_profile' ); }
If a member changes their profile picture, does buddypress use an event believing that the profile picture has been deleted?
This request is more important than my other request because there are several people who have seen their role / plan changed abnormally
RegardsHi Herve,
Please comment this line
https://gist.github.com/sbrajesh/238153f70f770f957fd1c4b2ba60be77#file-profile-completion-buddypress-php-L93That will do it for future.
Hi Herve,
I am sorry but I believe I am not sure of the original goals anymore and the modification may cause issues.1. You can uncomment the previous modification I have suggested
2. and then, you can change the log_deleted function to this/** * On Delete Avatar, delete the user meta to reflect the change * * @param array $args see args array. */ public function log_deleted( $args ) { if ( $args['object'] != 'user' ) { return; } $user_id = empty( $args['item_id'] ) ? 0 : absint( $args['item_id'] ); if ( ! $user_id ) { if ( bp_is_user() && ( bp_is_my_profile() || is_super_admin() ) ) { $user_id = bp_displayed_user_id(); } else { $user_id = bp_loggedin_user_id(); } } $user = get_user_by( 'id', $user_id ); if( $user && ! is_super_admin( $user_id ) ) { $user->set_role('subscriber' ); } }
PS: should I modify the repost the gist?
Hello Brajesh
Yes I understand. I explain the context:
I want to force a new member to fill out mandatory fields and upload a profile picture.
* If ok role change: member0 (plan0 with another plugin)
* Otherwise role subscriberWith a member management plugin:
* If role subscriber: he can not have access to some pages (including groups, activity …)If he changes his picture no change to the wordpress role
If it removes the photo back to the subscriber roleI have an error:
Parse error: syntax error, unexpected ‘public’ (T_PUBLIC), expecting end of file in/
public function log_deleted( $args )I submitted last version on gist
If too difficult, is there a way to remove with a hook the button “delete the photo” if not by css
Regards
You must be logged in to reply to this topic.