@bakelady Error logs? If you change to Twenty Twelve theme or the BP Default theme, is the issue resolved?
@mercime Thanks for the reply. I didn’t design the custom theme so not confident in changing to Twenty Twelve to test your theory, I’ll have to wait for my friend, the theme designer, to get back to me to test it.
But I’ve now established that it’s ( when deactivated) the User Role editor that is stopping people from joining a private group within the website. It had a very recent update. But I still need to find out why ‘contributors’ are not able to add blog posts and events
I’ll keep plugging away. No pun intended 🙂
Thanks again.
Lynn
@bakelady 🙂 Thanks for posting about the conflict with the User Role Editor and private groups.
But I still need to find out why ‘contributors’ are not able to add blog posts and events
Contributors should be able to submit a post from the backend (wp-admin) but it will need Site/Super Admin to approve and publish the post.
@mercime. I’ve just discovered that although I deactivated the User Role editor, people are still not able to join the private group, even though I’ve successfully done a test with a new testing member.
I’ll have to wait until my website theme designer gets back to me to see if she can sort this out. If we manage to sort this out I’ll let you know for future reference.
Thanks
Lynn
@bakelady Where is the disconnect for any member joining a private group? Which step below?
1. A member clicks on the “Request Membership” button of a private group, the button should become “Membership Requested.”
2. Group Admin gets notification via email (if enabled) and via notification bubble in WP Admin/Toolbar
3. Group Admin clicks on notification that a certain member is requesting membership. Click brings Group Admin to group’s Admin > Requests
4. Group Admin chooses “Accept” or “Reject” membership request
5. Accepted Member gets notification via email (if enabled) and via notification bubble in WP Admin/Toolbar that he/she was accepted to that private group
Hi all
I have fixed the issue but it has taken me a while to work out what an earth is going. The issue is not the theme, but in global.js so I should not have the only site experiencing this problem.
The issue would only ever be on a single group page, on the group directory you were able to request membership completely fine.
In global.js line 940 references a css id which is only listed on the groups directory
jq('#groups-dir-list').on('click', '.group-button a', function() {
therefore the requests won’t work. As a temp fixed I’ve copied the function and referenced
jq('#item-buttons').on('click', '.group-button a', function() {
which will reference the request button on a single group. I’m not too good with jquery and have just added this into the default global.js as assume someone will not go and fix this and roll out an update.
I do not find any issue in joining a private group via the private group’s home page or joining private groups via Groups Directory page or the Private Group’s home page on default installs. https://codex.buddypress.org/user/buddypress-components-and-features/groups/how-to-join-a-private-group/ on Twenty Twelve theme.
Hi Mercime
As it turns out, the problem was not with the User Role Editor.
As Becs has mentioned above, she has added a temp fix to my website. But the only way anyone can request membership to the private group is via the Group Directory and not via the group home page itself.
It seems to be working up to a point, if people understand the difference between adding via the Group Directory and not via the group itself.
I wonder if anyone else has had the same problem.
Thanks for you help.
Hi @mercime, I tried your suggestion last night – I switched to twentytwelve, turned off all the plugins and it didn’t work as I expected. When I requested membership, it asked me to add a comment, rather than just returning the button disabled with “request sent”.
I also tried bp-default but that made no difference either.
I happened to have a copy of the old which referenced this instead of what I mentioned above
jq(".group-button a").live('click', function() {
var gid = jq(this).parent().attr('id');
gid = gid.split('-');
gid = gid[1];
var nonce = jq(this).attr('href');
nonce = nonce.split('?_wpnonce=');
nonce = nonce[1].split('&');
nonce = nonce[0];
var thelink = jq(this);
jq.post( ajaxurl, {
action: 'joinleave_group',
'cookie': encodeURIComponent(document.cookie),
'gid': gid,
'_wpnonce': nonce
},
function(response)
{
var parentdiv = thelink.parent();
if ( !jq('body.directory').length )
location.href = location.href;
else {
jq(parentdiv).fadeOut(200,
function() {
parentdiv.fadeIn(200).html(response);
}
);
}
});
return false;
} );
I replaced the jq with jquery and added it into my custom scripts and it worked fine.
I can’t understand why it wouldn’t work even when I changed to the default or twenty twelve themes though if you said there wasn’t an issue.
When I requested membership, it asked me to add a comment, rather than just returning the button disabled with “request sent”. … I also tried bp-default but that made no difference either.
@becskr per link I posted above, that’s the default behavior when membership request is done at the group’s page. And commenting is optional. Could it be that you’re missing the “Send Request” button. Glad you found another solution but it could very well be a JS conflict with another plugin or script.