Currently I have a Membership Options price set on my registration form. It is a radio button widget, showing the available options.

I also have some Javascript running that will show a Non-Member priceset field by default, and if they select a Membership option it will .hide() that section and .show()the Members Only Pricing section.

In this paradigm, the currently logged in user who is already a Member has to do something like choose an option "I am already a Member" to see the correct price set options. This relies on a trust model.

How can I show or hide a price set based on if someone is a logged in member?

EDIT: The reason I did not use CiviDiscount is that AFAIK discounts can't be 'stacked' so if I auto apply a discount to price set options based on Membership, then a user can not enter an additional discount code and have them both work.

1 Answer 1



I used the technique on this page modified with something like this:


So if an anonymous user views the form, a block prints. If that block is on the page, hide the price set option which would reveal member pricing. Its not "secure" but in our case we would just contact someone who cheated and ask them to become a member, so its almost a marketing opportunity ;)

  • 1
    That's a clever way to get that done - thank you reporting back! Jun 30, 2016 at 22:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.