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.

Home Forums Bruce

Bruce

Staff Member

My Latest Replies (From Various Topics)

Viewing 25 replies - 1,801 through 1,825 (of 2,703 total)
Author Replies
Author Replies
Posted: Wednesday Feb 27th, 2013 at 1:03 am #43275
Bruce
Username: Bruce
Staff Member

Thank-you for your patience. We are very sorry about the delay.

if that’s the right way, then one thing I’m concerned about is the fact that users will always see the “update billing” form when they view this page.

It sounds like what you need to do is use s2Member’s Shortcode Condtiionals to decide when to show the Billing Update Form. If a User is s2Member Level 0 / Subscriber, they should not have access to this form, because this means that they are not a Paid Subscriber.

So you’d do something like this:

[s2If current_user_is('subscriber')]
	My Update Billing Form goes here.
[/s2If]

the concern is that members could accidentally sign up for another membership because, as far as I understand, filling out this [s2Member-Pro-AuthNet-Form modify=”1″ …] form will re-start their membership, no matter what their current status, right?

That’s right. A Modification Form will delete a User’s current subscriptions, and create a new one. If you’d like to make sure that you prevent Users from buying something that they already have, I’d recommend checking out s2Member’s Shortcode Conditionals for this, too. You can check to see if a User already has access to what your Modification Form is making available before making the form available.

See: Dashboard -› s2Member® -› API / Scripting -› Simple/Shortcode Conditionals

Posted: Monday Feb 25th, 2013 at 6:19 am #43150
Bruce
Username: Bruce
Staff Member

Can you please send us a Dashboard login to your site so we can take a better look at what may be happening here?

See: s2Member® » Private Contact Form

Posted: Monday Feb 25th, 2013 at 6:16 am #43149
Bruce
Username: Bruce
Staff Member

Thank you for reporting this important issue.

Could you please send us a Dashboard Login so we can take a look at what’s happening on your server?

Please send the details here: s2Member® » Private Contact Form

Posted: Monday Feb 25th, 2013 at 6:14 am #43148
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry. ~ We appreciate your patience.

I was wondering how can I hide the menu itens in accordance with the drip feed rate of certain posts?

From Raam’s reply:

If you want to actually drip the pages/posts themselves into the menus of your theme, you’d need to customize your theme a bit so that it only displays those links after a certain amount of time. You can use the same dripping functions as you would inside a post/page, but you’d need to modify your theme menu files to drip from there instead.

What Raam is saying here is really all we can say. This requires custom coding, which we cannot provide per our Support Policy. You’d probably need to edit your theme’s header.php file. There should be a portion of this file that handles your navigation menu. Usually it looks like this:

<?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>

You can use an exclude variable in this call to wp_nav_menu() here to exclude/include Posts/Pages depending on whether the User has access to a Post.

See: http://codex.wordpress.org/Function_Reference/wp_nav_menu
See Also: s2Member® » Codex (Source Code Docs)

That’s about as far as we can go with custom code. If you need further assistance, we recommend http://jobs.wordpress.net, or another freelance web site where WordPress® experts are offering their expertise through a bid on your project.
Posted: Monday Feb 25th, 2013 at 6:02 am #43146
Bruce
Username: Bruce
Staff Member

Thank you for reporting this important issue. ~ We appreciate your patience.

To create each new custom field I followed this path (S2>General Settings>Registration/Profile Fields & Options).

Are you certain you pressed the Save All Changes button at the bottom of the page after creating your form(s)? These forms do not save until you press this button.

If you can confirm that you have done this, and that your Custom Profile/Registration Forms do show up in your Dashboard after you’ve saved them, and they still do not show up in your BuddyPress Registration Page, please send us a Dashboard login here:

s2Member® » Private Contact Form

Posted: Saturday Feb 23rd, 2013 at 7:34 am #43003
Bruce
Username: Bruce
Staff Member

Thank you for reporting this important issue.

However, when I create a new account that is not suppose to open the lessons, it has no problem of accessing these posts. Why is that?

Can you access the Post(s) when you are not logged-in?

Posted: Saturday Feb 23rd, 2013 at 7:29 am #42999
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry.

You’d use the second ID you see here. That’s your Recurring Profile’s ID, which will be sent to s2Member in every IPN Notification for the User.

Posted: Saturday Feb 23rd, 2013 at 7:28 am #42998
Bruce
Username: Bruce
Staff Member

Knowing you’re not out to help develop web sites, using the forum example, where do you think I might begin to look to make that change?

There are a number of ways to pass the redirect_to variable. In your example above, it looks like you want to use a link? If so, you can pass redirect_to in the URL like this:

http://example.com/wp-login.php?redirect_to=/my-login-page

This just passes it through the URL, and the User should be automatically redirected based on this.

Posted: Saturday Feb 23rd, 2013 at 7:25 am #42997
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry. ~We appreciate your patience.

So, %%current_user_ccaps%% doesn’t work (I borrowed that from the options within the Login Welcome settings. What should I have here to pull in that ccaps value?

This replacement code will list out ALL Custom Capabilities that the User has here. Because you’re already kind of “hacking” this redirect, I would recommend just getting the User’s Custom Capabilties the old fashioned way with current_user_can() here. You should be able to find out if the User has a Custom Capability, and redirect them appropriately that way.

See: Dashboard -› s2Member® -› API / Scripting -› Advanced PHP Conditionals
See Also: http://codex.wordpress.org/Function_Reference/wp_redirect.

As a side question, right now I’m just assigning one ccaps per member, but if in the future I add multiple, I’m assuming that will break this functionality?

As I mentioned, this is listing out ALL of the User’s Custom Capabilities, so it wouldn’t really “break” this, if you have it set up correctly. But I’d still recommend just using s2Member’s PHP Conditionals here.

Posted: Saturday Feb 23rd, 2013 at 7:18 am #42995
Bruce
Username: Bruce
Staff Member

• all proposed solutions will display translated content but still redirect to the default (french) Log in Page.
(navigation and as consequence the language switcher is still displayed in french.)

In a sense, yes. BUT instead of it being your “French” Login Welcome Page, it will house ALL languages. So it will then just be your Login Welcome Page. Users will see content in a different language based on what you have set up here.

• There does not exist any …..(get_permalink()); “stay on current page” option for s2members after login.

If you’d like to do this with custom code, there is nothing stopping you here. You can redirect Users to a different page with PHP/JavaScript on your site if you’d like rather than this, but that’s not something supported directly by s2Member, and we cannot assist you with this as per our Support Policy.

Posted: Saturday Feb 23rd, 2013 at 7:14 am #42994
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry. ~ We appreciate your patience. :-)

A user can belong to one or more user groups, as its possible that a gp (clinical staff) could also be on the board / governing body. The user that is created now has access rights to all content and pages for that particular user group (s)

Because of this fact, standard Member Levels will not work for you here. s2Member’s Membership Levels are incremental, meaning that an s2Member Level 2 Member will have access to anything that’s protected at s2Member Level 2, s2Member Level 1, and s2Member Level 0/Subscriber.

You will need to use s2Member’s Custom Capabilities here. Custom Capabilities are a more advanced feature of s2Member, and they are NOT incremental. A User can have as many Custom Capabilities as you’d like them to, and you can protect content with Custom Capabilities just as you might with Membership Levels (such as through the Postmeta box in the Add/Edit Post screen):

What I would recommend doing here is assigning each section of your content a Custom Capability. Take your first type of User, Stakeholders.

They are allowed to the following:

– the downloads page within the events section (allowed to general public, doesn’t need a ccap)
– the entire clinical area (allowed to general public, doesn’t need a ccap)
– the archives pages within the library & resources section (allowed to general public, doesn’t need a ccap)
– the clinical and board bog page within the get in touch section (lets give this the ccap clin_board_page)

So, Users that should be Stakeholders should only be given the Custom Capability clin_board_page. You can then give them this Custom Capabilty, and protect this content with this Custom Capability.

You can then do this with all other capabilities that are not available to the general public for your other levels. Then, you’ll be able to assign specific Custom Capabilities to specific Users to allow them access to the content they should have access to.


As for your Page’s content, this is not something that’s going to actually concern s2Member. I did notice you said the following, though:

However, all registered users will have access to multiple category types of articles, so they will require tge ability to distinguish which category type each article is.

If you were using Membership Levels, you could simply use Category/Tag Access Restrictions here. But because you’re using Custom Capabilities, you should only need to assign different types of Posts different Custom Capabilities here. That will serve as your separators.

Please let us know if you have any further questions/concerns. :-)

Posted: Saturday Feb 23rd, 2013 at 6:59 am #42991
Bruce
Username: Bruce
Staff Member

I would love to see an s2m feature that issues an expiring scrambled link to something within the protected files folder!

I’ll put this in a vote for this in the future. I believe there may already be something like this in the works. :-)

Posted: Saturday Feb 23rd, 2013 at 6:58 am #42990
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry. ~ We appreciate your patience.

Want we want to do, is sell subscriptions based on authors and categories. So, a user should be able to pay for a subscription for category A and B, and eventually for Author A. (if author subscriptions aren’t possible, we can figure out another way to solve that, by making an author a category as well) That means, someone would get access to all posts made by author X or Y, or all posts in category A. If for some reason a post in category A is also in category B, ofcourse you should still have access.

This is not supported by s2Member’s logic. s2Member’s protections work on with an “AND” logic, meaning that if you require two different permissions, s2Member will require Users to always have both of these permissions to access the content.

The only way I can see you setting this up would be through some tricky Custom Capabilities, which are individual capabilities (or permissions) that you can give to Users through Buy Now Buttons / Pro Forms. If you’d like to see all the info on Custom Capabilities, please see this video playlist:

Video » s2Member (Custom Capabilities)

To achieve what you need here, you’ll need separate Custom Capabilities for each package of Posts/Categories that you’re selling, and you’ll need to break these down farther for each Author. For instance, if you have 3 Authors, and 3 Packages of Posts, you might have the following Custom Capabilities:

cat1_author1
cat1_author2
cat1_author3

cat2_author1
cat2_author2
cat2_author3

cat3_author1
cat3_author2
cat3_author3

Then if a User were to buy a Package for Category 1, you’d sell Custom Capabilities cat1_author1, cat1_author2, and cat1_author3. If they were to buy a Package for Author 2, they’d be buying cat1_author2, cat2_author2, and cat3_author2

When you don’t have a subscription to a certain category, we do want to show you the category archive page, but with a message on top which brings you to the subscribe page. For posts which you don’t have access to, we want people to see a teaser (excerpt), which brings you to the registration page. This would be best if we’re able to manage this through the templates.

This would need to be done through your theme template to make it automated. You can use s2Member Advanced PHP Conditionals here. With these conditionals you can check if a User has access to content, and show the full post, or just a teaser depending on their Capabilities.

See: Dashboard -› s2Member® -› API / Scripting -› Advanced PHP Conditionals

A small question, can we translate the plugin with a .mo file if we want?

Yes, s2Member is full compatible with WordPress I18n.

See: Pre Sale FAQs » Can s2Member® be translated into other languages?

Last thing, we want to implement our own payment system (dutch iDeal) is there any documentation about integrating other payment systems? And very last, since iDeal doesn’t support recurring payments, will the plugin email you a (customizable) warning that your subscription ends with a link to renew it?

s2Member supports multiple methods of integrating custom Payment Gateways. The best way is to use s2Member’s PayPal w/ Proxy Key functionality, which will allow your developer(s) to pass data through s2Member’s core processing routines for PayPal, which will allow you to automate much of this process.

See: Dashboard -› s2Member® -› PayPal® Options -› PayPal® IPN Integration -> IPN w/ Proxy Key

Alternatively, you could use Remote Operations, but s2Member’s standard emails will not be sent, and you will need to process more yourself.

See: Dashboard -› s2Member® -› API / Scripting -› Remote Operations API

s2Member does send the User an Email when they subscribe to your site, and it is customizable. You should be able to put in a link and whatever information you need to from this area of your Dashboard:

Dashboard -› s2Member® -› General Options -› Email Configuration

See Also: Knowledge Base » Editing the New User Email Notification with s2Member®

Let us know if you have any further questions/concerns. :-)

Posted: Friday Feb 22nd, 2013 at 9:22 pm #42881
Bruce
Username: Bruce
Staff Member

Once again, is there a working example of how to use this? My code obviously is not working.

No, unfortunately we do not have any examples as of yet. We’ve just got this feature released. I’ll put in a request to have this put up.

In the meantime, could you ensure that this is a problem with the code in your form, rather than just an issue with wp_mail here? You may want to try putting just normal data here and running another test. If the mail does go through, you may just have a parse error somewhere in your code causing the email to not send.

Posted: Friday Feb 22nd, 2013 at 8:59 pm #42878
Bruce
Username: Bruce
Staff Member

Thanks for the follow-up.

when will ccaps be able to be added to multiple pages in the dashboard –

is this part and parcel of the issues with working with the serialized arrays in the wp-usermeta that s2 relies on – it has been awhile since I have heard anything about it, but about six months ago there was discussion from s2 regarding

This is something that our development team is hard at work with right now. The way that s2Member’s Capabilities and Roles will be made much easier to edit for developers in the database. For now, this is not possible. I’m very sorry.

I will put in a feature request and see if this is a simple fix that could be added in a maintenance release of s2Member. Currently there is no solid release date for the version of s2Member that will have these features.

Posted: Friday Feb 22nd, 2013 at 8:56 pm #42877
Bruce
Username: Bruce
Staff Member

Thanks for the follow-up. ~ We are very sorry for the delay.

I did some research on this topic and it appears that this is normally caused by a field being required in your MailChimp® setup. Please do the following and run another test:

1. Please login to MailChimp.
2. Click “Lists”.
3. Find your list and hover over “Settings”.
4. Click “Fields and Merge Tags”.
5. Make sure ALL “Required” checkboxes are unchecked.
6. Press “Save”.

Let us know if problems persist. :-)

Posted: Thursday Feb 21st, 2013 at 2:05 am #42654
Bruce
Username: Bruce
Staff Member
Duplicate Post. Please refrain from starting multiple threads on the same subject. Thank-you.

See: http://www.s2member.com/forums/topic/keep-chosen-language-after-login/#post-42622

Posted: Thursday Feb 21st, 2013 at 2:02 am #42652
Bruce
Username: Bruce
Staff Member

Thank you for reporting this important issue.

It appears that you’re getting errors from your ModSecurity setup. From your logs:

ModSecurity: Audit log: Failed to lock global mutex: Permission denied [hostname "oandpbilling.com"] [uri "/dev/wp-admin/user-edit.php"] [unique_id "USRPnGylFw4AAHfObXsAAAAH"]

See this Knowledge Base Article for more info on how you can fix this:

Knowledge Base » Mod Security, Random 503/403 Errors

Posted: Thursday Feb 21st, 2013 at 1:59 am #42650
Bruce
Username: Bruce
Staff Member

Thanks for the follow-up.

While I want to sell packages that maintain access for a period of time, I have no need for them to be rebilled automatically, I just want access to drop off at the end of the time (i.e. one month, one year). The customer should be able to buy several packages though.

As Jason mentioned, Custom Capabilities would probably work perfectly for you here. You can protect Post/Pages with Custom Capabilities just as you would with Member Level Access Restrictions. The only difference is that Membership Levels are incremental, meaning that an s2Member Level 2 User would have access to everything a s2Member Level 1 Member would.

Custom Capabilities do not work this way, which means that you can have all Users sign up at the same level, with a specified number of Custom Capabilties (or as you call them Packages). Each of these Custom Capabilities would protect one or many Posts/Pages on your site, and Users can buy more Custom Capabilities with the forms here later:

Dashboard -› s2Member® -› PayPal® Pro Forms -› Capability (Buy Now) Forms

Does that make sense?

Posted: Thursday Feb 21st, 2013 at 1:43 am #42648
Bruce
Username: Bruce
Staff Member

See: s2Member® Unified Changelog » v130220

(s2Member/s2Member Pro) Feature Enhancement/Emails (Issue #30) Adding support for PHP tags in the following emails: New User Notification, Administrative New User Notification, Signup Confirmation Email, Specific Post/Page Confirmation Email. See the relevant sections in your Dashboard for further details. Such as: s2Member® -› General Options -› Email Configuration and s2Member® -› PayPal® Options -› Signup Confirmation Email.

You should be able to use the code from your original post in the email field with the latest version of s2Member. Let us know if problems persist. :-)

Posted: Thursday Feb 21st, 2013 at 1:40 am #42647
Bruce
Username: Bruce
Staff Member

Thanks for the follow-up.

I wouldn`t like to have my “free files” available for non members. So, they should be at least “free subscriber” to get them.

You can protect these links with Shortcode Conditionals.

See: Dashboard -› s2Member® -› API / Scripting -› Simple/Shortcode Conditionals

Posted: Wednesday Feb 20th, 2013 at 11:59 pm #42641
Bruce
Username: Bruce
Staff Member

Will your software allow us to accomplish all of these things above?

Yes, s2Member is capable of all of this. For integration with MailChimp see:

Dashboard -› s2Member® -› API / List Servers -› MailChimp®

How will your software handle the case where the user’s payment is canceled? Does your system automatically send a notification email?

This is not something that s2Member currently supports. I’ll take this as a feature request for a future version of s2Member, but in the meantime you cannot accomplish this without custom code. If you’re interested in doing this with custom code, please see the following section for info:

Dashboard -› s2Member® -› PayPal® Options -› Automatic EOT Behavior

Do we need any SSL certificates on the site?

This depends on the Payment Gateway. Regular PayPal Express Checkout transactions do not require an SSL certificate. However, PayPal Pro and Authorize.Net do require SSL.

Do we need PayPal Pro, assuming we want to integrate with PayPal?

Paypal Pro is only needed for processing Credit Cards on-site. See:

Pre Sale FAQs » To use s2Member® Pro Forms, will I have to use PayPal® Pro?

Posted: Wednesday Feb 20th, 2013 at 11:55 pm #42640
Bruce
Username: Bruce
Staff Member

Does this mean that the purchases you sent shortcode for tracking will not be included? That is, that these specific Post/Page Access purchases are not associated with the user/member in the database?

That’s correct. Specific Post/Page Access is completely separate form s2Member Level/Capability restrictions. You do not need a User account for these.

Posted: Wednesday Feb 20th, 2013 at 11:54 pm #42639
Bruce
Username: Bruce
Staff Member

Your instruction to pull the Log Files seems to be missing something, or am I?

The Log Viewer is a newer feature of s2Member. Try upgrading to the latest version of s2Member, then the Log Viewer should be available.

See: s2Member® Unified Changelog » v130214

Posted: Wednesday Feb 20th, 2013 at 11:51 pm #42638
Bruce
Username: Bruce
Staff Member

Thanks for this, Bruce. Unfortunately setting the rra to “0″ doesn’t solve the problem. Someone at PayPal retested the process for me with an invalid card and they still received the “Your account has been activated” message plus the welcome email.

From the docs:

rra=”2″ Reattempt failed payments? Possible values: 0 = do NOT reattempt billing when/if a recurring payment fails; 1 or higher = yes, DO reattempt billing when/if a recurring payment fails. With PayPal® Pro integration, PayPal® will retry a maximum of 2 times whenever rra=”2″; after that, a Subscription would be terminated due to Max Failed Payments having been reached. With PayPal® Pro integration, the value of this attribute also configures Max Failed Payments. So a setting of rra=”2″ means that you allow a maximum of 2 failed payments.

You should have your RRA attribute set to this, but you may also want to check your PayPal Options here.

See: Dashboard -› s2Member® -› PayPal® Options -› Account Details

Try changing your PayPal® Pro Forms / Recurring Profile Behavior to consolidated here.

Viewing 25 replies - 1,801 through 1,825 (of 2,703 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.