How do I create a matrix that shows membership levels and subscriptions?

I'm working on a site that has multiple levels. I also would like to offer different pricing for those levels based on the term. For example, I'd like to be able to offer monthly, quarterly and annual pricing for the same level.

Right now, I've got it set up so I have 6 levels, - free (for those not registered), complimentary, level 1, level 2, level 3 and level 4.

How would I create a page for my users that shows a matrix and then lets them sign up for the level they want. They don't need to "advance" from one level to another, they should be able to sign up for annual level 4 or monthly level 3.

After going through the documentation and trying a few shortcodes (like [renewform]), I'm a bit stumped.

  • PC

    Hello there,

    Thanks for posting on the forums.

    I think you want to show all the options as a table where a user can choose and signup right ?

    If yes, then you can use the below shortcodes on your pages :

    [subscriptiontitle subscription="2"]
    [subscriptiondetails subscription="2"]
    [subscriptionprice subscription="2"]
    [subscriptionbutton subscription="2"]

    2 will be replaced with the subscription ID

    Can you kindly check and see if that works out for your usage case ?

    Cheers, PC

  • Protospace

    That works, except I want to be able to show the Membership Levels, too...

    Using the shortcodes, I can show this:

    Monthly Quarterly Annual
    ----------------------------------------------------
    Level 1 $1.00 $2.50 $9.00

    I need it to look something like this:

    Monthly Quarterly Annual
    ----------------------------------------------------
    Level 1 $1.00 $2.50 $9.00
    Level 2 $2.00 $5.00 $18.00
    Level 3 $4.00 $10.00 $36.00

    Where a subscribe button would show below the price.

  • Michael Bissett

    Hey @Protospace,

    My first thought would be to use something like this:

    https://wordpress.org/plugins/tablepress/

    To create a table to insert the shortcodes into. To borrow your example from earlier:

    Monthly Quarterly Annual
    ----------------------------------------------------
    Level 1 $1.00 $2.50 $9.00
    Level 2 $2.00 $5.00 $18.00
    Level 3 $4.00 $10.00 $36.00

    You'd be inserting the price and button shortcodes for each subscription (Level 1 Monthly, Level 1 Quarterly, and Level 1 Annual) into each cell row, like this:

    [subscriptionprice subscription="2"]
    [subscriptionbutton subscription="2"]

    (of course, replacing the "2" with the appropriate subscription ID)

    They say a picture is worth 1000 words, so I've taken the liberty of attaching a test table I set up on a demo site of mine, using this method. :slight_smile:

    Let me know if that helps!

    Regards,
    Michael

  • Protospace

    I'm not worried about the formatting, but how do I get the levels?

    The subscriptions are set at finite (I'd prefer serial) and am only getting the first level. I'm not seeing the Level 2 with the short code. It could be that this is because I don't have a subscription for each: Level 1 Monthly, Level 1 Quarterly, Level 1 Annual, Level 2 Monthly, Level 2 Quarterly, etc. (meaning I'd have a matrix of shortcodes for each subscription)

    What I would like to do is just put the single subscription shortcode and then have it show the other levels that are offered as upgrades to that subscription. It's a whole lot fewer items to edit!

  • Michael Bissett

    Hey @Protospace,

    Sadly, this isn't something done with just one shortcode, you'd have to create a subscription for each pricing option (like you mentioned earlier, Level 1 Monthly, Level 1 Quarterly, Level 1 Annual, Level 2 Monthly, Level 2 Quarterly, etc).

    You'd then have to take the shortcode for each subscription, and have it laid out like the example I gave earlier, inserting the correct subscription ID in each field.

    It's a fair amount to juggle around, but that's the best I can offer at this time, unfortunately.

    To answer your question @sdinvestor2k, yes, that was created using the plugin I mentioned earlier. Glad you like the method I laid out, found that particular plugin a few weeks ago, and I've really taken a liking to it. :slight_smile:

    Regards,
    Michael

    P.S. I should note that in the setup of the table, I had to uncheck the Sorting, Search/Filtering, Pagination, & Info boxes (under the "Features of the DataTables JavaScript library" section). We're just displaying info here, so there's no need for that stuff. :slight_smile:

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.