Ah, forgot about that part. :)
In that case they only need to be registered before hand, not necessarily as paid members. So you can have them register for a free account.
Since you don’t have the pro version of s2Member you need to make sure that open registration is open under Dashboard -› s2Member® -› General Options -› Open Registration.
Next, in your membership options page you would have a link for them to register for free, the URL they would use would be http://www.yourwebsite.com/wp-login.php?action=register. Of course you would change the domain name to yours. :)
Next, in the login welcome page you would have something like this:
[s2If !current_user_can(access_s2member_level0)]
You would put a registration link here, pointing to the same page as the one that points to the membership options page.
[/s2If]
[s2If current_user_can(access_s2member_level0) AND !current_user_can(access_s2member_ccap_name_of_your_ccap)]
Put your buy now button for the custom capabilities here.
[/s2If]
[s2If current_user_can(access_s2member_level0) AND current_user_can(access_s2member_ccap_name_of_your_ccap)]
Put your content for members that already for the ccap.
[/s2If]
In a nutshell, what this does is show the free registration link to users that aren’t registered. It shows the buy now button for users that are registered but haven’t bought the access. And it shows the access content for users that have bought the access.
You can experiment with custom capabilities and s2Member conditionals to attain more specific results if you want. Check this article for a little bit more info: Knowledge Base » s2Member® Conditionals
And check under Dashboard -› s2Member® -› API / Scripting -› Simple/Shortcode Conditionals for all the documentation on simple shortcode conditionals. :)
– Eduan