latest stable versions: v150827 (changelog)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

About: cassel

Sorry, I've not written a description yet. I'll get to it soon!


Topics I'm Subscribed To

Viewing 25 topics - 1 through 25 (of 315 total)
Topic Count Last Reply
I am novice and need help with custom cap

By:  Paulinho121 in: Community Forum

voices: 3
replies: 2

2 years, 12 months ago  cassel

Membership Levels & Content by ccaps

By:  John Cook in: Community Forum

voices: 2
replies: 17

3 years ago  cassel

Redirect to separate pages on Log in

By:  John Cook in: Community Forum

voices: 2
replies: 1

3 years ago  cassel

Double PayPal recurring subscriptions

By:  Mary May in: Community Forum

voices: 2
replies: 1

3 years ago  cassel

Content Dripping by Specific Date

By:  Zak in: Community Forum

voices: 3
replies: 4

3 years ago  cassel

Your subscription is confirmed

By:  cassel in: Community Forum

voices: 1
replies: 0

3 years ago  cassel

Change Selected item on Multiple Pro Forms

By:  Glyn Davidson in: Community Forum

voices: 3
replies: 3

3 years ago  Glyn Davidson

Dynamic form shortcode stopped working

By:  alancheuk in: Community Forum

voices: 3
replies: 3

3 years ago  cassel

simpel shortcode conditionals

By:  m tim in: Community Forum

voices: 2
replies: 12

3 years ago  m tim

SUPPORT WAKE UP PLEASE!!

By:  boudewijn lutgerink in: Community Forum

voices: 6
replies: 20

3 years ago  boudewijn lutgerink

allow access to some specific videos

By:  tony sibbald in: Community Forum

voices: 2
replies: 1

3 years ago  cassel

Custom Capability question

By:  David Roberts in: Community Forum

voices: 2
replies: 22

3 years ago  David Roberts

Creating mutually exclusive levels

By:  Social Events in: Community Forum

voices: 3
replies: 3

3 years ago  cassel

Auto email notification AFTER EOT date

By:  John Kost in: Community Forum

voices: 2
replies: 3

3 years ago  John Kost

Follow up on Group Level Accounts

By:  Casey Noland in: Community Forum

voices: 3
replies: 3

3 years ago  Casey Noland

Group and s2member

By:  Pia Meyhoff in: Community Forum

voices: 2
replies: 4

3 years ago  Pia Meyhoff

teaser content, protected content and seo

By:  Joe Traveler in: Community Forum

voices: 3
replies: 8

3 years ago  cassel

Add custom fields for Premium level(Paid).

By:  pankaj robust in: Community Forum

voices: 3
replies: 4

3 years ago  cassel

need away to put my s2member pro on my site.

By:  Corey Freeman in: Community Forum

voices: 2
replies: 1

3 years ago  cassel

s2member error

By:  boudewijn lutgerink in: Community Forum

voices: 2
replies: 3

3 years ago  boudewijn lutgerink

BIZARRE problem with setting up API scripting

By:  Joe Traveler in: Community Forum

voices: 2
replies: 2

3 years ago  Joe Traveler

Restriction to file downloads by Username

By:  Narek Ambar in: Community Forum

voices: 3
replies: 17

3 years ago  Narek Ambar

One time offer code question –

By:  Benjamin Ellis in: Community Forum

voices: 2
replies: 4

3 years ago  cassel

limited Coupon-Codes for use xTimes only ….

By:  Enrico Kabas in: Community Forum

voices: 2
replies: 3

3 years, 1 month ago  Enrico Kabas

Viewing 25 topics - 1 through 25 (of 315 total)

Topics I've Started

Viewing 25 topics - 1 through 25 (of 63 total)
Topic Count Last Reply
Your subscription is confirmed

By:  cassel in: Community Forum

voices: 1
replies: 0

3 years ago  cassel

New s2m update or WP update?

By:  cassel in: Community Forum

voices: 1
replies: 0

3 years, 1 month ago  cassel

Login and register without the widget

By:  cassel in: Community Forum

voices: 1
replies: 0

3 years, 1 month ago  cassel

YMLP and s2Member

By:  cassel in: Community Forum

voices: 1
replies: 0

3 years, 1 month ago  cassel

Redirect and A/B testing

By:  cassel in: Community Forum

voices: 1
replies: 0

3 years, 4 months ago  cassel

You must login before making this purchase.

By:  cassel in: Community Forum

voices: 2
replies: 2

3 years, 5 months ago  Mike (Volunteer Moderator)

Multiple lists in MC and registration in WP

By:  cassel in: Community Forum

voices: 3
replies: 16

3 years, 7 months ago  Bruce

Yes, I want to receive updates via email.

By:  cassel in: Community Forum

voices: 2
replies: 1

3 years, 7 months ago  Cristián Lávaque

s2M MailChimp sync now available

By:  cassel in: Unofficial Extensions/Hacks

voices: 2
replies: 6

3 years, 7 months ago  cassel

Demotion based on next expected payment

By:  cassel in: Community Forum

voices: 2
replies: 14

3 years, 7 months ago  Cristián Lávaque

"Cart abandonment" recovery process?

By:  cassel in: Community Forum

voices: 2
replies: 1

3 years, 9 months ago  Bruce

BuddyPress or bbPress

By:  cassel in: Community Forum

voices: 2
replies: 2

3 years, 9 months ago  cassel

Once a membership payment is suspended…

By:  cassel in: Community Forum

voices: 2
replies: 7

3 years, 9 months ago  Cristián Lávaque

CCAP drip timer – Drip multiple "courses"

By:  cassel in: Unofficial Extensions/Hacks

voices: 4
replies: 4

3 years, 10 months ago  Krum Cheshmedjiev

BuddyPress and bbPress

By:  cassel in: Community Forum

voices: 2
replies: 1

3 years, 12 months ago  Eduan

Conditional for browser use?

By:  cassel in: Community Forum

voices: 2
replies: 5

4 years ago  Eduan

New subscription not replacing the old one

By:  cassel in: Community Forum

voices: 3
replies: 16

4 years, 1 month ago  Raam Dev

Restarting a Cancelled subscription by Paypal

By:  cassel in: Community Forum

voices: 3
replies: 2

4 years, 1 month ago  Raam Dev

Installment payment

By:  cassel in: Community Forum

voices: 2
replies: 7

4 years, 1 month ago  cassel

CCAP clock timer – Perfect for magazines

By:  cassel in: Unofficial Extensions/Hacks

voices: 2
replies: 1

4 years, 2 months ago  Eduan

HELP – New subscription NOT replacing old one 1 2

By:  cassel in: Community Forum

voices: 5
replies: 32

4 years, 2 months ago  cassel

Question about CCAPs, recurring payment and +

By:  cassel in: Community Forum

voices: 3
replies: 14

4 years, 2 months ago  Cristián Lávaque

I am amazed

By:  cassel in: Community Forum

voices: 2
replies: 1

4 years, 2 months ago  Raam Dev

Integrating date with MC – is it planned?

By:  cassel in: Community Forum

voices: 3
replies: 4

4 years, 2 months ago  cassel

Activating links based on dripped content

By:  cassel in: Community Forum

voices: 2
replies: 20

4 years, 2 months ago  Cristián Lávaque

Viewing 25 topics - 1 through 25 (of 63 total)

My Latest Replies (From Various Topics)

Viewing 25 replies - 1 through 25 (of 644 total)
Author Replies
Author Replies
Posted: Saturday Jan 11th, 2014 at 11:19 am #62572
cassel
Username: cassel

You can use the levels like that or you can call the course something else, just so you don’t get confused with the levels which are, by default, incremental.
So you can call them Course1, Course2, Course3 and those would be the custom capabilities (ccaps).

The simplest way to protect the content is with the little box on the top right when you add a page or a post, where it says “Require Custom Capabilities?”. There, you would enter Course1, or Course2, etc.

If you want/need to use conditionals instead, it could look like this

[s2If current_user_can(access_s2member_course1)]
    Display the content for Course 1
[/s2If]
[s2If !current_user_can(access_s2member_course1)]
    Display information about the course, and direct them to register for it, so it could even be a sale page at the same time
[/s2If]

So your purchase button would have something like this for single course:

[s2Member-PayPal-Button level="1" ccaps="course1" desc="First course" ps="paypal" lc="" cc="USD" dg="0" ns="1" custom="yoursite.com" ta="0" tp="0" tt="D" ra="10" rp="1" rt="L" rr="BN" rrt="" rra="1" image="default" output="button" /]

but the bundle would be coded like this:

[s2Member-PayPal-Button level="1" ccaps="course1,course2,course3" desc="Bundle of all 3 courses" ps="paypal" lc="" cc="USD" dg="0" ns="1" custom="yoursite.com" ta="0" tp="0" tt="D" ra="10" rp="1" rt="L" rr="BN" rrt="" rra="1" image="default" output="button" /]

Would that work for you?
I am using that all over my own site, and it is easy enough to manage once you understand that basic.

Posted: Friday Jan 3rd, 2014 at 1:57 pm #62404
cassel
Username: cassel

Maybe some simple troubleshooting first:
– do you have the most updated version of s2M?
– did your conditional EVER worked and stopped working?
– do you have OTHER conditionals that work ok?

Posted: Friday Jan 3rd, 2014 at 1:20 pm #62402
cassel
Username: cassel

Do you mean that Instructor is a role they have? Could you try changing that to S2Member Level 2 and see how it affects the outcome? I have never used other than the s2M levels, subscribers (which means level0) and admin (for me) so I am not sure how it would play but that is something to look into. Maybe those roles do not play well with something else?

Posted: Friday Jan 3rd, 2014 at 12:48 pm #62400
cassel
Username: cassel

The code is correct. You got it pretty much from the start. There seems to be something else.
Can you double-check on the ccap (or absence of) for both of your test account?
Can you make sure one of them does NOT have an admin role as this will override everything?

Posted: Friday Jan 3rd, 2014 at 12:02 pm #62397
cassel
Username: cassel

I have had a similar situation on my site and I found out that the easiest way was to copy the content like this:

[s2If current_user_is(s2member_level2) AND !current_user_can(access_s2member_ccap_trainee)]
Instructors' Area
Content A + B 
[/s2If]

[s2If current_user_is(s2member_level2) AND current_user_can(access_s2member_ccap_trainee)]
Trainee Instructor
Content B
[/s2If]

It can be annoying to duplicate the content, but I found out it works for me and is simpler to “reason”.
Worth a try?

Posted: Friday Jan 3rd, 2014 at 11:43 am #62395
cassel
Username: cassel

And with this code, everyone sees everything? No restriction?

Posted: Friday Jan 3rd, 2014 at 11:33 am #62393
cassel
Username: cassel

Based on my own experience on my site, here is a possible solution (there might be something “prettier” but this is all I know)

<?php if (current_user_is("s2member_level0")) && !current_user_can('administrator')){ ?><script type="text/javascript">window.location = 'http://yourdomain/pageforlevel0';</script><?php } else {?><?php } ?>

<?php if (current_user_is("s2member_level1")) && !current_user_can('administrator')){ ?><script type="text/javascript">window.location = 'http://yourdomain/pageforlevel1';</script><?php } else {?><?php } ?>

And so on. I think you have to use the php because of the javascript code in there.
There is also the command && !current_user_can(‘administrator’) because, if you are the admin, you want to be able to see the page you want, and not be redirected automatically.

Would that work?

Posted: Friday Jan 3rd, 2014 at 11:26 am #62391
cassel
Username: cassel

In fact, it is easy with s2M… the problem is that the system is so “down to the letter” that it cannot read our mind! We just have to think EXTREMELY literal.
Sometimes, you have to look at this from the content angle and not the member’s angle. So you have this:

Content A = for only those with “trainee” ccap
Content B = for all

You want this content B to be accessible to all.

[s2If current_user_is(s2member_level2)]
Instructors' Area
Content B
[/s2If]

Now you want content A ONLY for those with the trainee ccap:

[s2If current_user_is(s2member_level2) AND current_user_can(access_s2member_ccap_trainee)]
Trainee Instructor
Content A
[/s2If]

It is just switching things the other way. Does this work?
Also, the idea of a redirection would still require the use of some conditional so if it is not clear for s2M how to work with this code, it would likely be the same issue with a redirect (I do use redirect on my site, so I am familiar with it too).

  • This reply was modified 3 years ago by  cassel.
Posted: Friday Jan 3rd, 2014 at 11:04 am #62388
cassel
Username: cassel

Are you testing this as an admin? Or do you have a test user without admin privileges?

Posted: Friday Jan 3rd, 2014 at 10:49 am #62386
cassel
Username: cassel

Try this code instead (change the AND by OR):

[s2If current_user_is(s2member_level2)]

Instructors' Area
Content A

[/s2If]

[s2If current_user_is(s2member_level2) OR current_user_can(access_s2member_ccap_trainee)]

Trainee Instructor
Content B

[/s2If]
Posted: Friday Jan 3rd, 2014 at 10:34 am #62383
cassel
Username: cassel

Since both levels are Level 2, maybe you don’t need to add this to the conditional (unless you have other levels/ccaps to distinguish them from).

The code you are displaying seems ok. Where are you getting the wrong display? What do you get instead?
Are you testing as an admin? Do you have some restrictions set on the top right box in the dashboard when you create a content page? Basically, what result are you getting that you should not be getting (or vice versa)?

Posted: Friday Jan 3rd, 2014 at 10:19 am #62381
cassel
Username: cassel

S2Member should not be able to do that. As far as I know, it cannot handle two EOT or 2 concurrent recurring membership payments.

That being said, it made me realized that I had one customer who has been paying twice, every month. I’ll be following this thread for an explanation. Maybe a bug in the system can allow us to offer two concurrent membership payments.

Posted: Wednesday Jan 1st, 2014 at 2:09 pm #62346
cassel
Username: cassel

If you buy that hack, the instructions are detailed. And if it is not clear enough, Krum would be happy to help you.

Posted: Saturday Dec 28th, 2013 at 6:58 pm #62218
cassel
Username: cassel

I have been using a hack coded by Krum to do something like that (in fact, I have more than one hack in use).

One will allow the user to start getting access to content from the time they “purchase” the subscription, and will get everything after that purchase. A bit like a magazine subscription: you pay now, so you start getting access now. If you want past issues, you have to purchase them separately. This hack is called Clock Timer:
http://krumch.com/2012/11/06/kc-s2member-ccap-clock-timer/?ap_id=Cassel

The second hack he coded for me allows you to start a dripping content based on the member’s purchase date and not the registration date (which might be different).
http://krumch.com/2012/11/06/kc-s2member-ccap-drip-timer/?ap_id=Cassel

I am not sure if this would address all the requirements you have, but it might. And if it is close to what you want but need some tweaks, Krum can customize it for you.

(although those above are affiliate links, I am not getting any commission; it is only for tracking purpose)

  • This reply was modified 3 years ago by  cassel.
Posted: Saturday Dec 28th, 2013 at 9:23 am #62198
cassel
Username: cassel

If this might be considered a bug of a newer version, you might want to direct the tech support attention to it (this is a community forum so they might not see it). Check out on top of this page for the Help/Docs and Contact a Human. If it is a bug, I am sure they will appreciate.

Posted: Friday Dec 27th, 2013 at 4:27 pm #62186
cassel
Username: cassel

I think it looks good.
Did you try it with the test user at different level?

Posted: Friday Dec 27th, 2013 at 4:05 pm #62184
cassel
Username: cassel

You need to put that code for all the content you want to protect.
Whatever will be inside the shortcodes, will be reserved for only the members who have the level access you determined.
You can test with your test member with different levels and see if the member can access all the content it should see, and NOT see the other content.
Then, you should be ok.

Posted: Friday Dec 27th, 2013 at 3:50 pm #62182
cassel
Username: cassel

You can test it by creating a test user, give the user a level and check. Use different browsers for you, the admin, to give the access, and the test user to try it.

Posted: Friday Dec 27th, 2013 at 2:03 pm #62176
cassel
Username: cassel

Well, if you can set the member’s level, then you can use this code:

[s2If current_user_is(s2member_level3)]
    Some premium content for Level 3 Members.
[/s2If]

[s2If current_user_is(s2member_level2)]
    Some premium content for Level 2 Members.
[/s2If]

[s2If current_user_is(s2member_level1)]
    Some premium content for Level 1 Members.
[/s2If]

but since you want some members to have access to more than one level content, you would have to add something like this too:

[s2If current_user_is(s2member_level4) OR current_user_is(s2member_level3) OR current_user_is(s2member_level2) OR current_user_is(s2member_level1)]
    Some premium content that can be accessed by various level members
[/s2If]

This is a little bit more coding that I personally like but it is still feasible. Would that work?

Posted: Friday Dec 27th, 2013 at 1:41 pm #62171
cassel
Username: cassel

I don’t know that payment system, but how do you include levels or ccaps for this payment system?

Posted: Friday Dec 27th, 2013 at 1:13 pm #62169
cassel
Username: cassel

Hi Marjan,

This will be pretty simple once you get the hang of it. The “problem” is using the Levels make things confusing because S2Members creates levels to be cumulatives, but if you don’t want them cumulative, you should use ccaps – Custom Capabilities (even if you call them LEVELS).

Let’s say you have content A, B, C, D, E, F
Content A and B is for anyone who has LEVEL1 ccap
Content C and D is for anyone who has LEVEL2 ccap
Content E and F is for anyone who has LEVEL3 ccap

So you will protect Content A within these shortcodes:

[s2If current_user_is(s2member_level1)]
   Content A or B and will be accessible only to Members with LEVEL1 ccap.
[/s2If]
[s2If current_user_is(s2member_level2)]
   Content C or D and will be accessible only to Members with LEVEL2 ccap.
[/s2If]

Now, since a member cannot be at more than one level, that is why you will include the LEVEL as a ccap instead. So in your Paypal button, you will have LEVEL1 or LEVEL2 or LEVEL3 included. If you want a member to purchase the content to more than one level, then you include all of them like LEVEL1,LEVEL2,LEVEL3 in the ccap.

So what you call LEVEL4, does not need to have its own ccap since LEVEL4 = LEVEL1+LEVEL2+LEVEL3 so since the member will get all those levels in their ccaps, they will be able to access the content you protected with the shortcodes.

Does that seem clearer?

Posted: Thursday Dec 26th, 2013 at 4:11 pm #62148
cassel
Username: cassel

aus_team, when I fill out that form and don’t need those info, I just enter bogus data like “123” in each of them. It works! But I also mentioned that to them.

  • This reply was modified 3 years ago by  cassel.
Posted: Thursday Dec 26th, 2013 at 4:09 pm #62146
cassel
Username: cassel

Yes it would work. You can assign a custom capability to each video and have them accessible only if the viewer has that ccap.

The “problem” however, is that s2Member does not work like a shopping cart, meaning that until now, a viewer can only purchase ONE product. That product can be a bundle of several ones, but in that case, they have to purchase it as a bundle that you have set up.

But if the member wants to buy video #13 now, and #28 in 5 minutes, it will work. Just annoyingly as the member has to make 2 purchases and it will cost you 2 transaction fees.

Posted: Saturday Dec 21st, 2013 at 12:26 pm #62076
cassel
Username: cassel

I personally like the idea of making a main page, with the two options spelled out and then, direct each option to its own page with a pro-form if you want. I find it looks like a seamless process (even if you add one click) to get to the form to fill.

Maybe give this a try with a few pages and see how the process flows.

Posted: Friday Dec 20th, 2013 at 5:36 pm #62071
cassel
Username: cassel

By the way, there are two forms on the page protected with conditionals. Any chance it’s causing a conflict there?

Definitely. The system cannot have two forms on the same page. It can have several buttons, but not pro-forms.

Any ideas on why I receive this error in Internet Explorer: Invalid form configuration. Invalid “custom” attribute. When provided, must start with your domain name.

Your custom= variable has to have the whole URL, including the http and such, while in your example, it only has part of the URL. Try to add the complete URL and see if it works better.

  • This reply was modified 3 years ago by  cassel.
Viewing 25 replies - 1 through 25 (of 644 total)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Contacting s2Member: Please use our Support Center for bug reports, pre-sale questions & technical assistance.