Pay to post from back-end?

(Rob) #1

Hi everyone,
I’ve been looking for any options to allow users to pay to post but from the back-end. All the option I come across are for allowing users to post from the front end. I understand why this is desirable but I specifically need to allow users to post from the back-end. Has anyone come across a plugin like this?

I’m investigating if this can be done with WP Toolset and still not sure.

(Naresh Devineni) #2

A membership plugin can do this easily. Take pay with the membership plugin. After the payment, give the user “Contributor” role programatically. He can not publish the post though, he can only “Submit for review”. We must take care of lot of factors when giving access to the admin side of the wordpress.

(Leland Fiegel) #3

I have to admit, I’ve been thinking about this for a while and have no clue how I’d do it.

Didn’t think of this. So there’s one clue. Although I’m not sure it’s appropriate to charge at this point, since no post has been published yet.

So this would work, if it was only meant to work once per user. Otherwise, no additional payment would be collected on subsequent submitted posts unless a new account was created. Not an ideal UX.

To the OP, I know this isn’t what you asked, but in case you weren’t aware, this can be easily done with a combination of a form plugin and a payment addon.

For example, here’s a tutorial on user-submitted posts via Gravity Forms. Then, just tack on a PayPal or Stripe addon, and you’re set.

(Naresh Devineni) #4

Hi Leland Fiegel :slight_smile:

Yeah My solution only works if fee is one time.

But WordPress is pretty powerful equipped with filters and actions. The solution that I am about to suggest now has one caveat though.

Solution: (May be Not):
Accept the pay after hitting Submit For Review button using transition_post_status hook. This hook is called whenever there is change in post status for example when a post status changes from draft to pending review.

By this time, the user submitted post is already saved to the database.

Using this hook you can redirect user to the payment page with necessary parameters. If the payment is done you can keep the post in database or delete it (this is the caveat.)

You can find more information about the Post Status Transitions here and here

Hi @r083rt, Sorry for assuming that you are familiar with coding. The only problem with your requirement is its rareness. So you wont find plugins for this.

(Rob) #5

Thanks @leland for the link, I will read it soon.

@nareshdevineni your general suggestion of giving users backend access with a role that’s limited is a good start. Yes, coding is not for me but that’s ok, at least I know what it would take to get something like this going.