Use Gravity Forms for initial registration, then send to Pro Sites to upgrade

I'm want to use Gravity Forms for the initial user registration/site creation, just to replace the default wp-signup form, but then after creating the customer's site, send them to Pro Sites to offer the upgrade.

I've created a registration form with Gravity Forms and it works well. It creates the site and logs the customer in. I can have them click a link or button that I want to take them to the Pro Sites upgrade page they'd normally see after registering (at least when using the wp-signup.php?pro-site=1 URL). In other words, I want them to have to choose whether they want the free or upgraded plan.

I've tried sending the user to the URL you'd normally get when you click the Pro Sites "Account" menu item, which looks like this:
http://usersite.mysite.com/wp-admin/admin.php?page=psts-checkout

Then that redirects to a page like this:
https://mysite.com/pro-site/?bid=3

That essentially works, but it's not exactly the same page the user would normally see during the default registration process. They'd have to click to either upgrade or keep the basic, free plan. On the page above, it's for changing the plan or payment details. The wording is different and there is no option to continue with the free plan.

The thing is, the URL looks the same either way. So the page at /pro-site/ shows something different if they're clicking that link from the admin area. I was able to find in the code that it looks for that variable "psts-checkout" and if it's set, it doesn't show the normal upgrade message.

Is there a variable I could pass to the URL to tell it to show what it normally would right after registration?

Thanks,
Todd

  • Ash

    Hello @Todd Heitner

    I hope you are well today. We don't have direct integration with gravity form and pro sites.

    One of our valuable member @Sybre has developed something for gravity form integration with pro sites. You may take a look: https://premium.wpmudev.org/forums/topic/new-unofficial-plugin-gravity-forms-integration-with-wpmudev-pro-sites

    Hope it helps Please feel free to ask more question if you have any.

    Cheers
    Ash

  • Todd Heitner

    Hi, no offense but I feel like you didn't really read my message past the subject line. I realize you don't have direct integration of the two and I know about the unofficial integration the other member created. It doesn't do what I'm trying to do. What I want to do is much simpler and should definitely be possible without any custom coding.

    Forget that I mentioned Gravity Forms and understand that I'm just creating a customized signup process and I need help getting Pro Sites to display the correct page.

    I just need to know what triggers Pro Sites to show the upgrade page.

    Why does going to /wp-admin/ one time cause the upgrade page to be shown but not other times? Is there a variable I could pass to Pro Sites to get it to show the upgrade page?

    Would it be possible to pull the developer into the conversation? I just have a few questions that I think would be simple for him to answer.

    Thanks,
    Todd

  • Todd Heitner

    Hi,

    Just a quick note that I've made some progress with this but still would like some help. I had a couple different things going on and one issue that I resolved, so let me simplify what I need help with.

    Can we please pull a developer into this conversation?

    I want to make it so that when a registered user who has a free site goes to mysite.com/pro-site/, which should show the checkout page, that the option to just have a free site shows up.

    I know it shouldn't show when a user clicks the menu in the admin area to go to their account. That's fine. But when they go to mysite.com/pro-site/ I want the free option to appear, but it doesn't.

    I found this post:
    https://premium.wpmudev.org/forums/topic/free-level-option-on-checkout-page#post-206873

    And I changed that line in the plugin file and it now does what I want. However, I don't like this solution because it means every time the plugin is updated I'll have to manually change this again.

    So I have 2 questions:
    1. Is there any other way to accomplish this without modifying the plugin files?
    2. Is there any reason not to change this in the plugin itself? In other words, for you to change it in the core plugin? I don't see what it would hurt. When users click the link in their dashboard they still wouldn't see it. The only thing I can see that it would affect is that it would open up new possibilities for site owners.

    For now I'm going to go with the modified plugin because I need to move forward with this project. If you could make this change to the core plugin, it would provide a solution to many of your customers who are looking for a solution for a better signup process.

    In fact, I'm considering making a tutorial to show what I did because I think it could help a lot of people. But it would definitely be preferable if you could add this to the core first because if you could, it would mean site owners wouldn't have to modify a single line of code anywhere.

    I don't like the default WP signup/registration process for a number of reasons. It has too many steps, some of the verbiage isn't clear enough for non-tech-savvy users, and basically I don't have any control over it (other than making a custom wp-signup.php which would get overwritten with every WP update, not to mention it's a pain). I wanted to ask for a few additional pieces of information - contact details, and there are certain things I wanted to remove for simplification.

    So I built a form using Gravity Forms and the User Registration add-on. It works great for creating the free level of site. It's one page, very simple, and I can customize it as much as I like. Then I just need to direct the user to the Pro Sites checkout page like they'd normally see after registering that gives them the option of the paid site or free site. The key is that the button for the free site needs to be there because the user needs to click something. Otherwise, it will look like there isn't actually an option for a free site.

    I would really appreciate some input. Thanks!
    Todd

  • Jose

    Hi there Todd,

    Hope you are doing fantastic and many thanks for your patience on this one. We have been swamped in SLS these days.

    I'll try to answer your questions as accurate as possible:

    1- Yes. There is a workaround. The plugin provides several hooks when building the table for the upgrade view.
    Adding the following code in your functions.php or custom plugin should work fine:

    function force_free_level_display($content, $blog_id, $periods, $free_width){
        global $psts;
        //Check the opposite to the core in order to avoid displaying the level twice.
        if ( !(get_blog_option( $blog_id, 'psts_signed_up' ) && ! apply_filters( 'psts_prevent_dismiss', false )) ) {
            $content .= '<tr class="psts_level level-free">
    				<td valign="middle" class="level-name"><h3>' . $psts->get_setting( 'free_name', __( 'Free', 'psts' ) ) . '</h3></td>';
            $content .= '<td class="level-option" colspan="' . count( $periods ) . '">';
            $content .= '<a class="pblg-checkout-opt" style="width: ' . $free_width . '" id="psts-free-option" href="' . get_admin_url( $blog_id, 'index.php?psts_dismiss=1', 'http' ) . '" title="' . __( 'Dismiss', 'psts' ) . '">' . $psts->get_setting( 'free_msg', __( 'No thank you, I will continue with a basic site for now', 'psts' ) ) . '</a>';
            $content .= '</td></tr>';
        }
        return $content;
    }
    
    add_filter('psts_checkout_grid_before_free', 'force_free_level_display', 99, 4);

    2- In my opinion, it seems to be a conceptual reason. This is an upgrade page, and switching to a free level wouldn't be an upgrade. In most cases, it will be a must to hide the free level for this page. In fact, we had several requests to hide any level bellow the current level.
    Making it optional would require quite a good amount of coding, and it would add another checkbox somewhere in the settings page. I believe that it doesn't worth the change given that it is a specific use case and there are hooks available to achieve it.
    Anyway, this is just my personal opinion. The team is always open for ideas and feature requests. It will depend mostly on how popular a request is.

    Hope this helps

    Please let me know if the snippet above works fine on your end.

    Cheers!
    Jose

  • antKat

    @Todd, I am also trying to use ProSites, Blog Template and Gravity Forms.
    I also looked at Sabyre's plugin but I found that it was more involved than I needed. I too just want to "hook" into the Pro Sites check-out after the Gravity Forms. I do not have a free level though.

    I would really appreciate if you would share with me how you were able to connect the Gravity Form registration with Pro Sites? I can't tell you how much time I have wasted on this and it doesn't seem like it should be complicated.

  • Todd Heitner

    @antKat
    I wasted months trying to make ProSites work, and have hired programmers to try to make it more useful multiple times, which just wasted a lot of money too. It's inflexible and poorly designed. After trying for years to use ProSites and hoping that the developers would finally add some of the functionality that they've promised to make it more useful, which never seems to happen, I finally gave up on ProSites. I finally found another option, and have been pleased so far. I went with PaidMembershipsPro, which is free, and there are add-ons that make it work with MultiSite. For my needs there were a few functions that weren't available as add-ons, so I opted to hire the developer of the plugin to customize a few things for me, which was well worth it. I spent way less on that (like 197.00) than I paid to developers to make ProSites work as intended. I'm using that combined with the New Blog Templates plugin from wpmudev, which is actually a really good plugin. It's too bad ProSites doesn't measure up. There are just too many things about it that don't make sense. Things that customers have pointed out repeatedly and improvements are promised but never delivered.

  • antKat

    @Todd, thank you so much for your input. Clarify that you still used Gravity Forms registration in the process? I am also using New Blog Template. I have an existing multisite (approx 2 years old) that I had wanted to use Gravity Forms but gave up. I have been using Pro Sites, NBT and Affiliates.

    I am now getting ready to launch a new multisite and really want to use GF and still want to use NBT and some affiliate program. After spending SOOOO much time on Pro Sites, I'm happy to hear that there may be an alternative but of course afraid to go down another rabbit hole so close to launch. I'm usually very resistant to use free plugins in case they do not get supported or updated. I do see that they have a support fee available so that is a good sign that they will not lose interest in the plugin.

    I just took a quick review of some of the addons. I wish I had found out about this sooner, I have added BuddyPress primarily for custom profile fields and I see that PMP includes an addon for it. I'd love to see how you set your site up. Which Addons did you need to use to make it all work?What type of custom development did you need to develop? How long has it been up and running? Have you run into problems? I can't tell you how much I appreciate your input here.