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.

CSV export format

Home Forums Community Forum CSV export format

This topic contains 11 replies, has 4 voices. Last updated by  Cristián Lávaque 4 years, 2 months ago.

Topic Author Topic
Posted: Tuesday Oct 16th, 2012 at 11:42 pm #28624
Jacob Hicks
Username: NAOCS

Have a totally unrelated question but couldn’t figure out how to start a new topic on here. Do you guys have a fix for the Member CSV Export Yet? I have a client who needs a standard CSV File when it is exported out of S2member but as of now all my custom fields are beside the data not as a header. Please help to point me in the right direction.

List Of Topic Replies

Viewing 11 replies - 1 through 11 (of 11 total)
Author Replies
Author Replies
Posted: Wednesday Oct 17th, 2012 at 9:38 am #28690

Hi Jacob.

Have a totally unrelated question but couldn’t figure out how to start a new topic on here.

I split your post into a new thread. To start a new thread, go to the end of the forum page and you’ll see a box to type your opening post, similar to the box to leave a reply. http://www.s2member.com/forums/forum/customers/

I have a client who needs a standard CSV File when it is exported out of S2member but as of now all my custom fields are beside the data not as a header. Please help to point me in the right direction.

Sorry, the format hasn’t changed in the current s2Member. This will change with the new s2Member we’re working on, which is still not ready. :/

If you need it now and can’t wait, you can try customizing the export/import code.
s2member-pro\includes\classes\imports-in.inc.php
s2member-pro\includes\classes\exports-in.inc.php

Posted: Wednesday Oct 17th, 2012 at 10:59 am #28710
Jacob Hicks
Username: NAOCS

Cristian,
Thanks for the reply.
Do you know of a certain instance where someone has customized the export code to successfully export in standard csv format and do you know if it was a straight forward process to edit the code?

Posted: Thursday Oct 18th, 2012 at 7:51 am #28817

Found the thread: http://www.primothemes.com/forums/viewtopic.php?f=4&t=14093

It’s only for the easy-read format of the export tool. I haven’t seen anyone modify the format to re-import, or the import tool yet. Reading that hack you should get an idea of how to do the others, though.

I hope that helps. :)

Posted: Wednesday Oct 24th, 2012 at 6:58 am #29490
Jacob Hicks
Username: NAOCS

Cristian,

I used the script from the thread you posted and keep getting an error in the code:

Fatal error: Call to undefined method c_ws_plugin__s2member_pro_exports_in::export_users() in /home/content/96/9493196/html/naocs/wp-content/plugins/s2member-pro/includes/classes/exports.inc.php on line 60

Here is the script I am using with no luck:

<?php
    /**
    * Handles User Export requests ( innner processing routines ).
    *
    * Copyright: © 2009-2011
    * {@link http://www.websharks-inc.com/ WebSharks, Inc.}
    * ( coded in the USA )
    *
    * This WordPress® plugin ( s2Member Pro ) is comprised of two parts:
    *
    * o (1) Its PHP code is licensed under the GPL license, as is WordPress®.
    *    You should have received a copy of the GNU General Public License,
    *    along with this software. In the main directory, see: /licensing/
    *    If not, see: {@link http://www.gnu.org/licenses/}.
    *
    * o (2) All other parts of ( s2Member Pro ); including, but not limited to:
    *    the CSS code, some JavaScript code, images, and design;
    *    are licensed according to the license purchased.
    *    See: {@link http://www.s2member.com/prices/}
    *
    * Unless you have our prior written consent, you must NOT directly or indirectly license,
    * sub-license, sell, resell, or provide for free; part (2) of the s2Member Pro Module;
    * or make an offer to do any of these things. All of these things are strictly
    * prohibited with part (2) of the s2Member Pro Module.
    *
    * Your purchase of s2Member Pro includes free lifetime upgrades via s2Member.com
    * ( i.e. new features, bug fixes, updates, improvements ); along with full access
    * to our video tutorial library: {@link http://www.s2member.com/videos/}
    *
    * @package s2Member\User_Exports
    * @since 1.5
    */
    if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
       exit ("Do not access this file directly.");
    /**/
    if (!class_exists ("c_ws_plugin__s2member_pro_exports_in"))
       {
          /**
          * Handles User Export requests ( innner processing routines ).
          *
          * @package s2Member\User_Exports
          * @since 1.5
          */
          class c_ws_plugin__s2member_pro_exports_in
             {
                /**
                * Handles the exportation of Users/Members.
                *
                * @package s2Member\User_Exports
                * @since 1.5
                *
                * @attaches-to ``add_action("init");``
                *
                * @return null Or exits script execution after issuing file download prompt with CSV file.
                */
                public static function export ()
                   {
                      if (!empty ($_POST["ws_plugin__s2member_pro_export"]) && ($nonce = $_POST["ws_plugin__s2member_pro_export"]) && wp_verify_nonce ($nonce, "ws-plugin--s2member-pro-export") && current_user_can ("create_users"))
                         {
                            global $wpdb; /* Global database object reference. */
                            global $current_site, $current_blog; /* Multisite Networking. */
                            /**/
                            @set_time_limit (0); /* Make time for processing. */
                            @ini_set ("memory_limit", "256M"); /* RAM. */
                            /**/
                            $format = !empty ($_POST["ws_plugin__s2member_pro_export_format"]) ? $_POST["ws_plugin__s2member_pro_export_format"] : "";
                            $start = !empty ($_POST["ws_plugin__s2member_pro_export_start"]) ? (int)$_POST["ws_plugin__s2member_pro_export_start"] : 1;
                            /**/
                            $start = ($start >= 1) ? $start : 1; /* Must be 1 or higher. */
                            $sql_s = ($start === 1) ? 0 : $start; /* 1 should be 0. */
                            /**/
                            $export = ""; /* Initialize the export file variable. */
                            /**/
                            $s2map = array ( /* Map s2Member fields. */
                            "custom" => $wpdb->prefix . "s2member_custom",/**/
                            "subscr_id" => $wpdb->prefix . "s2member_subscr_id",/**/
                            "subscr_gateway" => $wpdb->prefix . "s2member_subscr_gateway",/**/
                            "auto_eot_time" => $wpdb->prefix . "s2member_auto_eot_time",/**/
                            "last_payment_time" => $wpdb->prefix . "s2member_last_payment_time",/**/
                            "paid_registration_times" => $wpdb->prefix . "s2member_paid_registration_times",/**/
                            "custom_fields" => $wpdb->prefix . "s2member_custom_fields");
                            /**/
                            if (is_array ($_users = $wpdb->get_results ("SELECT `" . $wpdb->users . "`.`ID` FROM `" . $wpdb->users . "`, `" . $wpdb->usermeta . "` WHERE `" . $wpdb->users . "`.`ID` = `" . $wpdb->usermeta . "`.`user_id` AND `" . $wpdb->usermeta . "`.`meta_key` = '" . esc_sql ($wpdb->prefix . "capabilities") . "' LIMIT " . $sql_s . ", 250")))
                               {
                                  if (is_multisite () && c_ws_plugin__s2member_utils_conds::is_multisite_farm () && !is_main_site ())
                                     $export .= '"ID","Username","First Name","Last Name","Display Name","Email","Website","Role","Custom Capabilities","Registration Date","First Payment Date","Last Payment Date","Auto-EOT Date","Custom Value","Paid Subscr. ID","Paid Subscr. Gateway"' . "\n";
                                  else /* Otherwise, we use the standardized format for exportation.*/
                                  
                                  
                                  
                                  
                                          $export .= '"ID","Username","Password","First Name","Last Name","Display Name","Email","Website","Role","Custom Capabilities","Registration Date","First Payment Date","Last Payment Date","Auto-EOT Date","Custom Value","Paid Subscr. ID","Paid Subscr. Gateway"';

    $cfields = (array)json_decode($GLOBALS['WS_PLUGIN__']['s2member']['o']['custom_reg_fields'], true);
    ksort($cfields);
    foreach ($cfields as $cfield)
        $export .= ',"' . $cfield['id'] . '"';
    $export .= "\n"; 
     
                                  /**/
                                  foreach ($_users as $_user) /* Go through each User/Member in this result set. */
                                     {
                                        if (is_object ($user = new WP_User ($_user->ID)) && $user->ID)
                                           {
                                              $custom_capabilities = ""; /* Reset each time. */
                                              /**/
                                              foreach ($user->allcaps as $cap => $cap_enabled)
                                                 if (preg_match ("/^access_s2member_ccap_/", $cap))
                                                    if ($cap = preg_replace ("/^access_s2member_ccap_/", "", $cap))
                                                       $custom_capabilities .= "," . $cap;
                                              /**/
                                              $custom_capabilities = trim ($custom_capabilities, ",");
                                              /**/
                                              $custom = (isset ($user->$s2map["custom"])) ? $user->$s2map["custom"] : "";
                                              $subscr_id = (isset ($user->$s2map["subscr_id"])) ? $user->$s2map["subscr_id"] : "";
                                              $subscr_gateway = (isset ($user->$s2map["subscr_gateway"])) ? $user->$s2map["subscr_gateway"] : "";
                                              /**/
                                              $auto_eot_time = (isset ($user->$s2map["auto_eot_time"])) ? $user->$s2map["auto_eot_time"] : "";
                                              $last_payment_time = (isset ($user->$s2map["last_payment_time"])) ? $user->$s2map["last_payment_time"] : "";
                                              $paid_registration_times = (isset ($user->$s2map["paid_registration_times"])) ? $user->$s2map["paid_registration_times"] : "";
                                              $custom_fields = (isset ($user->$s2map["custom_fields"]) && is_array ($user->$s2map["custom_fields"])) ? $user->$s2map["custom_fields"] : array ();
                                              /**/
                                              $paid_registration_date = ($paid_registration_times["level"]) ? date ("m/d/Y", $paid_registration_times["level"]) : "";
                                              $paid_registration_times = (is_array ($paid_registration_times) && !empty ($paid_registration_times)) ? serialize ($paid_registration_times) : "";
                                              $registration_date = ($user->user_registered) ? date ("m/d/Y", strtotime ($user->user_registered)) : "";
                                              $last_payment_date = ($last_payment_time) ? date ("m/d/Y", $last_payment_time) : "";
                                              $auto_eot_date = ($auto_eot_time) ? date ("m/d/Y", $auto_eot_time) : "";
                                              /**/
                                              ksort ($custom_fields); /* Make sure Custom Fields are always in the same order.
                                                    /* This provides clarity/uniformity in the export file. */
                                              /**/
                                              if (is_multisite () && c_ws_plugin__s2member_utils_conds::is_multisite_farm () && !is_main_site ())
                                                 {
                                                    if ($format === "readable") /* Human readable format; easier for some. */
                                                       {
                                                          $line = '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->ID) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_login) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->first_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->last_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->display_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_email) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_url) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq (reset ($user->roles)) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom_capabilities) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($registration_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($paid_registration_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($last_payment_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($auto_eot_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($subscr_id) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($subscr_gateway) . '",';
                                                          /**/
                                                          foreach ($custom_fields as $custom_field_var => $custom_field_value)
                                                             {
                                                                $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom_field_var) . '",';
                                                                $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq /* Implode array? */
                                                                (implode ("|", (array)$custom_field_value)) . '",';
                                                             }
                                                       }
                                                    else /* Otherwise, we can just use the default re-importation format. */
                                                       {
                                                          $line = '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->ID) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_login) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->first_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->last_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->display_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_email) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_url) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq (reset ($user->roles)) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom_capabilities) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($registration_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($paid_registration_times) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($last_payment_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($auto_eot_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($subscr_id) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($subscr_gateway) . '",';
                                                          /**/
                                                          foreach ($custom_fields as $custom_field_var => $custom_field_value)
                                                             {
                                                                $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom_field_var) . '",';
                                                                $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq /* Serialize? */
                                                                (maybe_serialize ($custom_field_value)) . '",';
                                                             }
                                                       }
                                                 }
                                              else /* Otherwise, we use the standardized formats for exportation.*/
                                                 {
                                                    if ($format === "readable") /* Human readable format; easier for some. */
                                                       {
                                                          $line = '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->ID) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_login) . '",';
                                                          $line .= '"",'; /* The Password field is left blank on export. */
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->first_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->last_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->display_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_email) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_url) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq (reset ($user->roles)) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom_capabilities) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($registration_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($paid_registration_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($last_payment_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($auto_eot_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($subscr_id) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($subscr_gateway) . '",';
                                                          /**/
                                                          
                                                          $return = array();
                                                           $user = get_user_option('s2member_custom_fields', $user->ID);
                                                          $s2_customFieldValue_array = (array)json_decode($GLOBALS['WS_PLUGIN__']['s2member']['o']['custom_reg_fields'], true);
                                                          
                                                          foreach ($s2_customFieldValue_array as $field) {
                                                             
                                                                $return[$field['id']]['value'] = $user[$field['id']];
                                                                $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($return[$field['id']]['value']) . '",';
                                                             }
                                                          
                                                          /*  Original Script
                                                          
                                                          foreach ($custom_fields as $custom_field_var => $custom_field_value)
                                                             {
                                                                $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom_field_var) . '",';
                                                                $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq // Implode array?
                                                                (implode ("|", (array)$custom_field_value)) . '",';
                                                             }*/
                                                       }
                                                    else /* Otherwise, we can just use the default re-importation format. */
                                                       {
                                                          $line = '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->ID) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_login) . '",';
                                                          $line .= '"",'; /* The Password field is left blank on export. */
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->first_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->last_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->display_name) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_email) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($user->user_url) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq (reset ($user->roles)) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom_capabilities) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($registration_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($paid_registration_times) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($last_payment_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($auto_eot_date) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($subscr_id) . '",';
                                                          $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($subscr_gateway) . '",';
                                                          /**/
                                                          
                                                              foreach ($cfields as $cfield)
        $line .= '"' . (isset($custom_field[$cfield['id']]) ? c_ws_plugin__s2member_utils_strings::esc_dq(maybe_serialize($custom_field[$cfield['id']])) : '') . '",';
      
                                                          
                                                             
                                                             
                                                             
                                                             /*
                                                             //Original Code:
                                                             
                                                             foreach ($custom_fields as $custom_field_var => $custom_field_value)
                                                             {
                                                                
                                                                $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq ($custom_field_var) . '",';
                                                                $line .= '"' . c_ws_plugin__s2member_utils_strings::esc_dq // Serialize?
                                                                (maybe_serialize ($custom_field_value)) . '",';
                                                             }
                                                             */
                                                       }
                                                 }
                                              /**/
                                              $export .= trim ($line, " \r\n\t\0\x0B,") . "\n";
                                           }
                                     }
                               }
                            /**/
                            @ini_set ("zlib.output_compression", 0);
                            /**/
                            header ("Accept-Ranges: none");
                            header ("Content-Encoding: none");
                            header ("Content-Type: text/csv; charset=utf-8");
                            header ("Content-Length: " . strlen ($export));
                            header ("Expires: " . gmdate ("D, d M Y H:i:s", strtotime ("-1 week")) . " GMT");
                            header ("Last-Modified: " . gmdate ("D, d M Y H:i:s") . " GMT");
                            header ("Cache-Control: no-cache, must-revalidate, max-age=0");
                            header ("Cache-Control: post-check=0, pre-check=0", false);
                            header ("Pragma: no-cache");
                            /**/
                            header ('Content-Disposition: attachment; filename="export-' . $start . '-' . ($start + 249) . '.csv"');
                            /**/
                            eval ('while (@ob_end_clean ());'); /* Clean output buffers. */
                            /**/
                            exit ($export);
                         }
                   }
             }
       }
    ?>
Posted: Thursday Oct 25th, 2012 at 12:41 am #29606

I haven’t tried the hack myself, so I don’t know what may be wrong with it. It may be a bit outdated, or maybe you just need to find the right place to put it. But it’s a good start for your own customization if you wanted to make one.

From a quick comparison between that code and the exports-in-inc.php file in the current release, it seems the method was renamed from [hilite mono]export[/hilite] to [hilite mono]export_users[/hilite], same with some variables. You’ll need to update those in the hack.

I hope that helps. :)

Posted: Friday Oct 26th, 2012 at 9:52 am #29785
Jacob Hicks
Username: NAOCS

Cristian,
I got the csv export figured out via some custom coding. The only thing I need now is to rename the S2member levels on the database level. My CSV export file displays “Subscriber” & “S2Member_Level1” under user roles instead of displaying my custom Label. Any suggestions on how to rename these membership levels so that it exports that way on the CSV?

Thanks,
Jacob

Posted: Friday Oct 26th, 2012 at 1:13 pm #29831
Raam Dev
Username: Raam
Staff Member

Jacob,

The s2Member plugin relies on the levels being called s2member_level0, etc., in the database, so if you change those, s2Member will break. If you’re just trying to change the way those levels are named within the WordPress dashboard, you can do that in Dashboard -› s2Member® -› General Options -› Membership Levels/Labels.

Posted: Friday Oct 26th, 2012 at 1:28 pm #29836
Jacob Hicks
Username: NAOCS

Raam,
I’m only trying to change it to display properly on the exported CSV file. I have a client that wants his member level to display in the CSV file instead of S2member_level1. I can change it to display correctly in the WP Dashboard area but it does not update the labels for the CSV export fie. Any suggestions would really help asap. He is getting impatience.

Thank You,
Jacob

Posted: Saturday Oct 27th, 2012 at 7:15 am #29903

You can use the constants for the level labels. [hilite path]Dashboard -› s2Member® -› API / Scripting -› PHP/API Constants[/hilite]s

S2MEMBER_LEVELn_LABEL
This is the (string) Label that you created for a particular Membership Level #. Replace n with a numeric Membership Level #..

[hilite code][/hilite]
This may output something like: Free
( or whatever Label you’ve configured for Level #0 )

—- s2member Shortcode Equivalent —-

[hilite code][[s2Get constant="S2MEMBER_LEVEL0_LABEL" /]][/hilite]
Posted: Wednesday Nov 7th, 2012 at 11:56 am #30913
Leah Cody
Username: NMSHP

I am also having the same issue with the membership export. Is there any way the working code could be posted so I can also make those modifications?

Do you have a proposed release date for s2Member that will include this fix?

Posted: Thursday Nov 8th, 2012 at 7:53 am #31010

It wouldn’t be a fix, since it’s not broken, it’s just a different format. The new s2Member doesn’t have a release date yet, but we’ll announce it as soon as we have one. :)

Viewing 11 replies - 1 through 11 (of 11 total)

This topic is closed to new replies. Topics with no replies for 2 weeks are closed automatically.

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.