• My ‘product’, consists of a set of educational posts split into 2 parts, let’s call them Part 1 and Part 2. Users can purchase the parts independently of each other, most will purchase Part I and then move on to Part 2, but I don’t want to restrict users from purchasing just Part 2 on it’s own.

    The problem is s2member has the ‘levels’ system, and ‘Parts’ are not equivalent to ‘Levels’, so for example if I set my Part 1 posts at level 1, and my Part 2 content at level 2, somebody purchasing only Part 2 would automatically have access to Part 1, which I don’t want.

    I using s2member Pro, I’d like the checkout options to provide 3 choices-:
    Option 1. Purchase Part 1
    Option 2. Purchase Part 2
    Option 3. Purchase Part 1 and Part 2 together

    Is there a way of achieving this please?

    Cheers,
    Bernie

    https://www.ads-software.com/plugins/s2member/

Viewing 2 replies - 1 through 2 (of 2 total)
  • First, one member cannot be both at level 1 and level 2, so you would have a problem allowing both parts to the same member. Instead of using levels you can use custom capabilities and conditionals, so you can have one purchase button that will include the ccap “Part1”, one will include “Part2” and one will include “Part1,Part2” in the ccaps.

    Then, in displaying the content, you would go with something like this:

    [s2If current_user_can(access_s2member_ccap_Part1)]
        Display Part1 content
    [/s2If]
    [s2If current_user_can(access_s2member_ccap_Part2)]
        Display Part2 content
    [/s2If]

    So, in this case, if a member has only Part1 access, only Part1 will be displayed. If they have Part1 and Part2, both will display. And if a member has only Part2 (if you have that option available) only Part2 content will be displayed.

    Maybe that would work?

    Thread Starter bernieraffe

    (@bernieraffe)

    Thanks, yes I think Custom Capabilities is the way to go here and after reading the docs and watching videos about it, it sounds like that would be perfect.

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘How can I achieve this in s2member’ is closed to new replies.