By default your users will be able to edit the default invitation message. Here you will be able to change the default message and forbid users to change it.
Default messages are divided in several sections. Message for HTML providers, message for Linkedin, message for Facebook, message for twitter, non enditable section and footer.
HTML providers are Gmail, Live, Foursquare and Yahoo. All these providers will use emails to send the invitations. Emails have 4 different sections that can me configure:
1- Subject Users can edit the subject if you allow them
2- HTML Message Users can edit the email message if you allow them
3- Non editable Message User can’ not change this part.
4- Footer User can’ not change this part.
You can use the following placeholders on your message:
- %%INVITERNAME%%: Display the name of the inviter
- %%SITENAME%%: Name of your website as configured in Settings -> General
- %%ACCEPTURL%%: Link that invited users can click to accept the invitation and register into your site
- %%INVITERURL%%: If Buddypress is enabled, URL to the profile of the inviter
- %%CUSTOMURL%%: A custom URL that you can edit with a simple filter
- %%CURRENTURL%%: Prints the url where the widget was clicked
- %%CURRENTTITLE%%: Title of the post / page where the widget was clicked
All this placeholders can be used with any Provider. If you want to use a custom URL you can add in your functions.php the following code:
%%ACCEPTURL%%, %%INVITERURL%% and %%CUSTOMURL%% will change when the message is delivered and they are auto generated depending on your site and plugins.
You can also change them using filters
We use the private message API. No HTML is allowed on these providers and we encourage to have a short invitation message in order to avoid problems.
With the new Facebook API we had to change from the chat system to the SEND dialog popup (that actually looks like a chat message to the recipient). On this case we can not predefine a message, but what we can do, is to predefine the facebook og meta tags of the login page with a simple message. That way when we send the registration url the message will display in the popup and the user won’t be able to change it.
Why the message only works on the login page? Because the login page don’t have og tags by default so we thought that we could add ours. All the other pages are normally parsed by Facebook and if you use a plugin like WordPress SEO by Yoast or any other Facebook open tag plugin you will be able to change it manually for every page.
For Twitter we use DM API and we need to keep invitations under 140 characters and also HTML is not allowed at all.