Community Support Forums — WordPress® ( Users Helping Users ) — 2013-01-10T18:40:31-05:00 http://www.primothemes.com/forums/feed.php 2013-01-10T18:40:31-05:00 http://www.primothemes.com/forums/viewtopic.php?t=6309&p=62570#p62570 <![CDATA[Re: Plugin Conflicts ( That We Know Of )]]> http://www.s2member.com/forums/topic/sh ... post-36813

Lizatom Shortcodes

Statistics: Posted by Cristián Lávaque — January 10th, 2013, 6:40 pm


]]>
2012-08-27T06:13:18-05:00 http://www.primothemes.com/forums/viewtopic.php?t=6309&p=62559#p62559 <![CDATA[Re: Plugin Conflicts ( That We Know Of )]]> http://www.s2member.com/forums/topic/pr ... post-23118

BP Template Pack

Statistics: Posted by Cristián Lávaque — August 27th, 2012, 6:13 am


]]>
2012-02-16T02:28:51-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17171&p=62338#p62338 <![CDATA[s2Member® v120213]]> s2Member® v120213 ( now available! )
http://wordpress.org/extend/plugins/s2member/

Changelog is located here.
http://wordpress.org/extend/plugins/s2member/changelog/

Statistics: Posted by Jason Caldwell — February 16th, 2012, 2:28 am


]]>
2012-02-16T02:11:12-05:00 http://www.primothemes.com/forums/viewtopic.php?t=6309&p=62337#p62337 <![CDATA[Re: Plugin Conflicts ( That We Know Of )]]> http://www.s2member.com/forums/topic/li ... #post-5299

Simple Local Avatars

Statistics: Posted by Cristián Lávaque — February 16th, 2012, 2:11 am


]]>
2012-02-07T01:46:55-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17003&p=62333#p62333 <![CDATA[Re: Custom Coupon Codes]]> accept_coupons=1"0" but should be accept_coupons="1".

The affiliate tracking setting is wrong too. The suffix chars are just that, the suffix to know what part of the coupon code is the affiliate's ID. The default suffix is -A: so s2Member will know that what comes after that is the affiliate's ID.

You defined your coupon code under WP Admin -> s2Member -> Pro Coupon Codes -> Configuration. Now, under WP Admin -> s2Member -> Pro Coupon Codes -> Affiliate -> Suffix, you can leave the default -A: change it to something else if you prefer it.

Now, your affiliates 123 can use the share the coupon SAVE-25-A:123.

If you need to track this with some other script, like iDevAffiliate, you can enter that in the field WP Admin -> s2Member -> Pro Coupon Codes -> Affiliate -> Tracking.

I hope that helps.

Statistics: Posted by Cristián Lávaque — February 7th, 2012, 1:46 am


]]>
2012-02-06T15:50:10-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17055&p=62332#p62332 <![CDATA[Re: Custom registration fields missing]]> I would advise taking a look at this article just to rule it out.
viewtopic.php?f=36&t=14787

Statistics: Posted by Jason Caldwell — February 6th, 2012, 3:50 pm


]]>
2012-02-06T15:17:01-05:00 http://www.primothemes.com/forums/viewtopic.php?t=2530&p=62331#p62331 <![CDATA[Re: RSS feeds not protected in Google Reader]]> Thanks for the follow-up.

1. Protect the category with s2Member.
See: Dashboard -> s2Member -> Restriction Options -> Categories.

2. Enable s2Member's Alternative View Protection for feeds.
See: Dashboard -> s2Member -> Restriction Options -> Alternative Views.

Statistics: Posted by Jason Caldwell — February 6th, 2012, 3:17 pm


]]>
2012-02-06T15:05:33-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17107&p=62330#p62330 <![CDATA[Re: Change profile custom fields values]]> Thanks for the heads up on this thread.

I would suggest this article to you as a primer as Hooks/Filters for WordPress.
http://codex.wordpress.org/Plugin_API#H ... our_Filter

The reason you're getting an empty array is because you're only requesting one function argument.

Try it like this please.
Code:
add_filter ("ws_plugin__s2member_during_profile_during_fields_display_custom_fields", "my_function", 10, 2);
function my_function ($bool, $vars = array ())
    {
        var_dump($vars);
      return $vars;
    } 

Statistics: Posted by Jason Caldwell — February 6th, 2012, 3:05 pm


]]>
2012-02-06T14:58:30-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17091&p=62329#p62329 <![CDATA[Re: Trouble purchasing license key]]> Thanks for the heads up on this thread.

10554 Filter Decline
This transaction cannot be processed.
The transaction was declined because of a merchant risk filter for AVS.
Specifically, the merchant has set to decline transaction when the AVS returned a no match (AVS = N).
In other words, we were unable to verify the supplied billing address with the one matching your credit card billing statement. Please check your billing statement and just be sure it's the same as the one you entered on-site. If you have any further trouble, please let us know.

Statistics: Posted by Jason Caldwell — February 6th, 2012, 2:58 pm


]]>
2012-02-06T14:46:41-05:00 http://www.primothemes.com/forums/viewtopic.php?t=16510&p=62328#p62328 <![CDATA[Re: Flowplayer got error after s2member update to 111220]]> Hi there. Thanks for the follow-up in this thread.
~ I received your email as well.

Please check your email for my reply.

Statistics: Posted by Jason Caldwell — February 6th, 2012, 2:46 pm


]]>
2012-02-06T14:40:43-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17077&p=62327#p62327 <![CDATA[Re: User registration via WordPress API on non-multisite]]> Thanks for your inquiry.

Hmm, I'm not sure which comments they are referring to exactly. I can confirm though, s2Member does already make full use of the WordPress API for user registration, and the user_register Hook is what powers most of the s2Member registration process (i.e. this Hook is definitely fired each time a user/member/customer registers).

See file: /s2member/includes/classes/registrations.inc.php
Code:
/**
                * Configures all new Users.
                *
                * The Hook `user_register` is also fired by calling:
                * ``c_ws_plugin__s2member_registrations::ms_create_existing_user()`` and/or ``wpmu_create_user()``.
                *
                * This function also receives hand-offs from s2Member's handlers for these two Hooks:
                * `wpmu_activate_user` and `wpmu_activate_blog`.
                *
                * @package s2Member\Registrations
                * @since 3.5
                *
                * @attaches-to ``add_action("user_register");``
                *
                * @param int|str $user_id A numeric WordPress® User ID.
                * @param str $password Optional in most cases. A User's plain text Password. If unspecified, attempts are made to collect the plain text Password from other sources.
                * @param array $meta Optional in most cases. Defaults to false. An array of meta data for a User/Member.
                * @return null No return value. Returns `null` in possible every scenario.
                *
                * @todo Impossible to delete cookies when fired inside: `/wp-activate.php`?
                */
                public static function configure_user_registration ($user_id = FALSE, $password = FALSE, $meta = FALSE) 

Statistics: Posted by Jason Caldwell — February 6th, 2012, 2:40 pm


]]>
2012-02-06T14:33:40-05:00 http://www.primothemes.com/forums/viewtopic.php?t=16997&p=62326#p62326 <![CDATA[Re: Maximum Members - Practical Limitations]]> Thanks for the heads up on this thread.

This query you reported looks like it comes from an older version of WordPress? Starting with WordPress v3.1, this was deprecated in favor of WP_User_Query.

Please confirm which version of WordPress that you were running.

If it was prior to WordPress v3.1, I would highly recommend that you upgrade. There were several improvements in v3.1 in this respect, making WordPress a more solid choice for a large userbase.

Each site is unique, but I can tell you that I've seen WordPress/s2Member power sites with as many as 30K users. Beyond that you will likely need a database and object cache, along with lots of RAM. Of course, much of this depends on how active your users are, and on what other plugins you're running.

From older version of WordPress,
now inside: wp-admin/includes/deprecated.php
Code:
    function prepare_query() {
        global $wpdb;
        $this->first_user = ($this->page - 1) * $this->users_per_page;

        $this->query_limit = $wpdb->prepare(" LIMIT %d, %d", $this->first_user, $this->users_per_page);
        $this->query_orderby = ' ORDER BY user_login';

        $search_sql = '';
        if ( $this->search_term ) {
            $searches = array();
            $search_sql = 'AND (';
            foreach ( array('user_login', 'user_nicename', 'user_email', 'user_url', 'display_name') as $col )
                $searches[] = $wpdb->prepare( $col . ' LIKE %s', '%' . like_escape($this->search_term) . '%' );
            $search_sql .= implode(' OR ', $searches);
            $search_sql .= ')';
        }

        $this->query_from = " FROM $wpdb->users";
        $this->query_where = " WHERE 1=1 $search_sql";

        if ( $this->role ) {
            $this->query_from .= " INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id"; 


WP_User_Query introduced in WordPress v3.1
http://codex.wordpress.org/Class_Refere ... User_Query

Statistics: Posted by Jason Caldwell — February 6th, 2012, 2:33 pm


]]>
2012-02-06T14:07:23-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17020&p=62325#p62325 <![CDATA[Re: Custom Paypal Button - Unexpected txn_type/status' error]]> Thanks for the heads up on this thread.

It sounds like you are trying to custom code some things to make this work in a specific way. You might take a look at this method provided by s2Member, which is documented here: http://www.s2member.com/codex/stable/s2 ... _link_gen()

For example... you might create a script that generates access links to Specific Posts/Pages in clever ways, and then integrate it into the larger picture that you're trying to customize.
Code:
<?php
$post_id 
= 3;
$access_link = c_ws_plugin__s2member_sp_access::sp_access_link_gen($post_id);
wp_redirect($access_link); exit();
?>

Statistics: Posted by Jason Caldwell — February 6th, 2012, 2:07 pm


]]>
2012-02-06T14:02:32-05:00 http://www.primothemes.com/forums/viewtopic.php?t=6204&p=62324#p62324 <![CDATA[Re: Members not degrading after failed payments]]> Thanks for the follow-up with these log entries.

I can see here what the issue is. s2Member is stopping on a failure to locate the item_number associated with the original transaction.

I suspect this is because your customer originally purchased access to your site while you were running an older version of s2Member. Unfortunately, this particular type of IPN that PayPal sends to s2Member, does not include the rp_invoice_id, or the PROFILEREFERENCE. This forces s2Member to keep a copy of this data locally, so it can reference this vital information and process the EOT.

s2Member started keeping this information locally, starting with version 110927. So if this particular customer signed up originally under a release prior, this could be the result. Unfortunately, there's not much we can do about this now. PayPal changed the rules on us a bit, and we had to adapt accordingly. Members that signed up in earlier versions of s2Member may fail to expire in certain circumstances. Yours being one of these. This issue affected certain types of transactions where the storage of IPN Signup Vars was required by s2Member in order to fulfill its obligation later on, in being able to properly terminate access upon receipt of this IPN from PayPal. Newer versions of s2Member resolve this issue.

If you have several members this is affecting, my suggestion would be a manual EOT Time through your Dashboard. In your Dashboard you can set the EOT Time for certain customers, and s2Member will be perfectly capable of processing EOTs at the times you set, regardless of this issue. Of course, for any customer that originally paid you under a release of s2Member v110927+, you won't need to do this.
Code:
  array (
    0 => 'IPN received on: Tue Jan 31, 2012 10:41:54 am UTC',
    1 => 's2Member POST vars verified through a POST back to PayPal®.',
    2 => 's2Member originating domain ( `$_SERVER["HTTP_HOST"]` ) validated.',
  ),
  'subscr_gateway' => 'paypal',
  'subscr_id' => 'I-NPR3...',
  'period1' => '0 D',
  'period3' => '1 D',
  'item_number' => false,
)

Statistics: Posted by Jason Caldwell — February 6th, 2012, 2:02 pm


]]>
2012-02-06T13:24:43-05:00 http://www.primothemes.com/forums/viewtopic.php?t=14359&p=62323#p62323 <![CDATA[Re: slow resource loads]]> Statistics: Posted by Jason Caldwell — February 6th, 2012, 1:24 pm


]]>
2012-02-06T13:20:37-05:00 http://www.primothemes.com/forums/viewtopic.php?t=6309&p=62322#p62322 <![CDATA[Re: Plugin Conflicts ( That We Know Of )]]>
I''ve been in contact with the developer of W3 Total Cache and we've been unable to reproduce any issues in direct conflict with s2Member thus far. I suspect that most of the issues reported here in our forum, were related to the way in which W3 Total Cache was configured. Not surprising, given the number of options this plugin makes available to a site owner. If you're looking to run W3 Total Cache with s2Member, you'll need to be VERY familiar with the way each of its features works.

Here is one way to avoid major issues.

- Don't enable OBJECT caching with W3 Total Cache. Page caching should be good enough for most sites anyway. Unless you know exactly what you're doing, OBJECT caching can cause major issues on a membership site where users/members are accessing the site regularly (i.e. and details in the DB are updated frequently, sometimes multiple times in the context of a single page view).

Statistics: Posted by Jason Caldwell — February 6th, 2012, 1:20 pm


]]>
2012-02-04T19:09:19-05:00 http://www.primothemes.com/forums/viewtopic.php?t=586&p=62321#p62321 <![CDATA[Re: Client Portals ~ with video tutorial.]]> Perhaps a better way to ask this question - is there a way to identify the user through the file name that the teachers upload - automatically?
Then have only the files attached to that identity enabled for download by the user they are intended for?
Cheers,
Kitty.

Statistics: Posted by Kimbro — February 4th, 2012, 7:09 pm


]]>
2012-02-04T17:22:13-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17169&p=62320#p62320 <![CDATA[Quick Cache Serving Pages through HTTPS at random]]>
First off, I love this plugin because of its simplicity, and I've recommended it for use on several websites for clients because they can use it without getting scared. Thanks to the developer(s) for all the work they've done.

At first, I thought this problem was an issue with a single website I was using, but I'm seeing it on two sites now that both use Quick Cache so I'm trying to isolate what the problem could be.

Both sites have a lot of posts and pages, one site is a very high-traffic blog, the other has many pages and posts. When I'm not logged in and clicking around the site (admiring the quick page loads) occasionally, I'll run into a page that loads completely unformatted, as if the style sheet is not loading. When looking at the page source, it turns out that the links to all the site assets have https:// prepended to them instead of the http protocol. Since there is no SSL installed on the server, the assets throw a 404 error and the pages load unstyled. Hitting the clear cache button after logging in fixes this problem, but then I'll find another page or post that has this same problem later on. In one case the home page had the problem, which obviously was a big problem, so I've had to disable the plugin on the production site. The site itself is here, but I can't turn the caching plugin back on until we get this resolved so I don't know if the site will be able to show what's going on:
http://blog.sfmoma.org/

I didn't build this site, just did some upgrades and template changes over the past 6 months, but I've got it on pretty good authority that they NEVER had ssl installed on their servers, so the https protocol was never used before I came on. Not sure why it's showing up now.

I've isolated Quick Cache as the problem, as I've disabled all other plugins, checked server logs, and it doesn't happen at all when the cache is turned off and/or I'm logged in, but happens after repeatedly re-installing, upgrading or clearing the cache.

Both servers are running PHP 5.2 and one server was running Wordpress 3.2 until yesterday. The problem happened on 3.2 and continues with the latest versions of Wordpress AND Quick Cache. Any information or ideas will be appreciated. I'd really hate to try to find a different caching plugin or go back to Super Cache, but I can't use this in production if it keeps happening. Thanks again! -Matt

Statistics: Posted by oppodeldoc — February 4th, 2012, 5:22 pm


]]>
2012-02-04T16:51:42-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17065&p=62319#p62319 <![CDATA[Re: Specific access and post types?]]>
Custom capabilities are equivalent to "special rights" a user can purchase regardless of its restriction level, like buying tickets to special rides in an amusement park.

Custom capabilities are not stored like categories, so any ccap could be purchased by a user if we created a button for it, and therefore, the PayPal buttons to purchase those could be created programmatically. We could have a PayPal button on each page that sells a capability named after the page ID, and check for each page if that ID capability was purchased.

The procedure would be the following:
- Put some conditionnal code that checks if the user has capability "show_[show id]"
- If he does, show the show. If not, put a message with a PayPal button
- After the user has paid for the show, he is prompted to login or create his account.
- The user can now watch the show.

Am I correct so far?

Statistics: Posted by n1c0_ds — February 4th, 2012, 4:51 pm


]]>
2012-02-04T15:44:19-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17065&p=62318#p62318 <![CDATA[Re: Specific access and post types?]]> Statistics: Posted by n1c0_ds — February 4th, 2012, 3:44 pm


]]>
2012-02-04T13:57:04-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17124&p=62317#p62317 <![CDATA[Re: Performance issues]]>
Raam Dev wrote:
I will escalate this to the lead developer to see if he can shed some light. In the meantime, this information may be helpful: viewtopic.php?f=4&t=14359&p=32934#p33441


"if your WordPress installation has MANY plugins, or is otherwise slow for one reason or another, it can appear that s2Member itself is lagging"

As I mentioned above, in this case I ran a test on my test site which had two plugins enabled: s2Member and P3 Plugin Profiler.

I'll try some of the other tips, thanks.

Statistics: Posted by GDLTD — February 4th, 2012, 1:57 pm


]]>
2012-02-04T12:54:48-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17162&p=62316#p62316 <![CDATA[Re: Free access to a large group of new users]]> Statistics: Posted by s_d_p — February 4th, 2012, 12:54 pm


]]>
2012-02-04T11:50:20-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17168&p=62315#p62315 <![CDATA[immediate failure]]> I downloaded the s2member plugin, unzipped it, FTPed it to the wp-content/plug-ins directory, went to the WP dashboard and Activated it. Went to the Setup link and got a 403 Forbidden Page error. The s2member options menu shows up on the left of the dashboard, but no matter what I click on that, I get the same error :(

Any help?
Thanks in advance.

Statistics: Posted by Russ Smith — February 4th, 2012, 11:50 am


]]>
2012-02-04T11:46:13-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17167&p=62314#p62314 <![CDATA[Re: Restrict a text from all the posts]]> Statistics: Posted by cristiandark — February 4th, 2012, 11:46 am


]]>
2012-02-04T11:36:46-05:00 http://www.primothemes.com/forums/viewtopic.php?t=17167&p=62313#p62313 <![CDATA[Re: Restrict a text from all the posts]]>
I'm gonna give you some examples so that you can use them:
The following code will show you where to put the level 4 content:
Code:
[s2If current_user_is(s2member_level4)]
    Some premium content for Level 4 Members only. This is where the download link will go.
[/s2If]
This code will only show the download link to level 4 members. You can modify the number on top to protect content on different levels.

Hope this is understandable. :)

Statistics: Posted by Eduan — February 4th, 2012, 11:36 am


]]>