Linking Two Sites to Share Content

mikey3times

BuSo Pro
Joined
Aug 25, 2018
Messages
152
Likes
126
Degree
1
I'm considering a project that may require a developer since I am mostly an HTML/CSS with a dash of PHP editing knowledge guy. Not sure the right way to build this.

I want to build two sites and link them together.
  1. Content Site: Standard SEO website with informational content.
  2. Business Directory Website: Free directory with payments for enhanced listings.
So let's talk cars to give and example...

The content site may have a bunch of articles about supercars. At the bottom of those articles I want to have an H2 that says "Manufacturers". Below that would have a link to the other site (so you can see the free listings + enhanced listings) and a list of the enhanced listings from the directory site.

The directory site will have Manufacturer Listings, but within each category I want to include lists of relevant articles or article categories that link back to the content site.

The thing is, I don't want to manually edit all of these links. I'd rather have a dropdown on the content site that lets me select the category from the directory site so that it can pull the enhanced listings automagically. And the same in the opposite direction.

Why keep them separate WordPress sites? I want to silo users. I don't really want manufacturers logging into my content site to update their listings. It also keeps the two databases separate to help prevent data loss or database size issues.

So, is this a task for WordPress Multisite with some code to pull data from the other associated site? Or is this more of a task for Rest API? I will likely have to work with a developer to build this out and I need to know how to describe and discuss this with them. (Obviously, since I am asking this question)

Or am I going about this all wrong and I should just have one site that I let manufacturers log into with one potentially giant database? I could probably run this on my own without a lot of developer interaction.
 

bernard

BuSo Pro
Joined
Dec 31, 2016
Messages
1,608
Likes
1,256
Degree
4
I think this is an easy and very well suited task for Wordpress and Custom Posts. It's tailor made for a combination of ACF Pro, Elementor and FacetWP/Pods/some other filtering.

I get your reluctance to have manufacturers log into a standard WP backend, but do they have to?

I think what you want is a custom role setup with Wordpress and then a custom admin, where it only shows the Listing part.

Here is one older blogpost on how to do that with code:

https://torquemag.io/2016/08/customize-wordpress-backend-clients/

Here is a plugin that can create a custom WP backend:

https://wordpress.org/plugins/wp-custom-admin-interface/

Seems like it can do a lot of stuff.
 

mikey3times

BuSo Pro
Joined
Aug 25, 2018
Messages
152
Likes
126
Degree
1
I think this is an easy and very well suited task for Wordpress and Custom Posts. It's tailor made for a combination of ACF Pro, Elementor and FacetWP/Pods/some other filtering.

I get your reluctance to have manufacturers log into a standard WP backend, but do they have to?

I think what you want is a custom role setup with Wordpress and then a custom admin, where it only shows the Listing part.

Here is one older blogpost on how to do that with code:

https://torquemag.io/2016/08/customize-wordpress-backend-clients/

Here is a plugin that can create a custom WP backend:

https://wordpress.org/plugins/wp-custom-admin-interface/

Seems like it can do a lot of stuff.
So are you suggesting to install a directory plugin on the main content site and then let manufacturers log into the main site to claim/update/pay for their listing via a custom back end? I.e one big site, not two separate sites that share data?

I will still have to build a plug-in or use shortcode to pull data from the directory plug-in into the article content and vice-versa

I’m curious if others agree or disagree with my logic of building two Wordpress installs tied together vs a single Wordpress install.
 

Ryuzaki

お前はもう死んでいる
Moderator
BuSo Pro
Digital Strategist
Joined
Sep 3, 2014
Messages
5,005
Likes
9,600
Degree
9
So, is this a task for WordPress Multisite with some code to pull data from the other associated site? Or is this more of a task for Rest API?

This is what I was thinking as I was reading your post but I don't think your reasoning for splitting them justifies the headache and technical overhead of doing it. @bernard is right, below:

I think this is an easy and very well suited task for Wordpress and Custom Posts. It's tailor made for a combination of ACF Pro, Elementor and FacetWP/Pods/some other filtering.

I get your reluctance to have manufacturers log into a standard WP backend, but do they have to?

I wouldn't mess with Elementor or whatever if you're going to code your own Wordpress theme (or have it coded). If you aren't then it might offer you some solutions you need.

But even without ACF Pro (which is amazing. Every site I build that is even remotely complex even ends up using it. I'm grandfathered in from long ago with the one-time payment. It's still worth the subscription though. I've made more money with the help of Advanced Custom Fields Pro than I care to even estimate.

But what I was saying was, if you correctly categorize your custom post types (manufacturer profiles, etc.) then you don't even need something like ACF. All you need is the built in Wordpress looping functionality and custom page templates. ACF might reduce the custom page templates down to even just 1 though, and again, that's what's worth paying for: having low technical debt and high organization. Because this will get complex.

You can get it going to where you don't even need to go in and select from a dropdown which types of listings you want to show. If the main page/post is in X category, show X listings. If it's in Y category, show Y listings. And this will all be done with a Wordpress loop in the page template using "if statements".

It's complex, yes. But not complex for someone with experience who understands what you're attempting to do and can really wrap their mind around it. If you can find that person, all of this becomes far less complicated and way more organized and maintainable.

You're right too. You need to FULLY understand what you want before you contact anyone. You need to be able to mock it up with wireframes. All functionality needs to be understood and communicated before anything starts. Because it gets harder and harder to tweak and add things (and more expensive) later. You need a defined scope and you need to not be changing it, so if you can wrap your own head around this down to the nitty gritty detail first, you're going to save yourself a lot of time, money, and headaches.

I will still have to build a plug-in or use shortcode to pull data from the directory plug-in into the article content and vice-versa

^ This is precisely what I'm saying the Wordpress Loops can do for you, without a plugin. You should need zero plugins to achieve this. You can create custom post types in functions.php. You can create a custom user role for the manufacturers to log in so they only see the custom post types. They can fill out their data (ACF is probably a great idea for this, to be fair). Then they submit it as a "pending draft" for you to approve. And then it's in the system. Allow their user role to edit those listings and then submit again for approval. Make it so they can only see their own posts.

People don't realize it but Wordpress can do all of this. It's built for it, with tons of custom functionality in the documentation. You just need someone who knows what exists and is available to use or not. You won't need the REST API or anything like that. Just one database and looping through it (and caching).

Yeah, you don't need multiple sites. Think about your liquidation event too. You want as little friction for the future buyer too.
 

bernard

BuSo Pro
Joined
Dec 31, 2016
Messages
1,608
Likes
1,256
Degree
4
You don't need any directory plugin and I would advice against it, because it won't be flexible.

What you want is a Custom Post, lets say "Cars".

This is a stand alone post type, like how Pages are different from Posts.

You can then add taxonomies (categories) to the Cars custom post, such as "Manufacturer", but also all kinds of stuff that can be grouped: "Engine type", "Number of seats", "Listing Location (zip)" etc.

Then you finally add custom fields for the data that is usually unique, such as Price, Discount, phone number etc.

Now every time someone creates a "Car" post, they are asked to fill in these things.

Once you have a bunch of cars, you can show them using different methods.

@Ryuzaki would suggest writing a custom post/page template, which would be the best practise considering speed and maintenance.

You could however also use plugins like Elementor and FacetWP to show these listings.

Elementor has a widget to show posts from a category.

You could show the listings with FacetWP, then pull in the necessary posts with an Elementor Post widget.

All of this can be done using plugins or using code.

If you're aware of how the directory part will turn out and it won't change much, then it could definitely be worth paying someone to code those parts.

You could also get up and running with Elementor and FacetWP, then swap later on, for something more consistent.

In any case, this is imo definitely a one site Wordpress task.
 

mikey3times

BuSo Pro
Joined
Aug 25, 2018
Messages
152
Likes
126
Degree
1
Thanks @bernard and @Ryuzaki - this is a massive help.

I have enough coding skills to make my own theme, taxonomies, custom post types, etc. I've never used ACF, but it looks like I could easily figure that out as well.

Two parts that I am stuck on:

How to wrap in "Claim this listing" since I am going to input a lot of the companies in myself with the basic info (so that I don't have a blank directory). People will be able to claim a listing (custom post). Theoretically, this can be a manual process where I assign a post to a user, but making it a form they fill out that I eventually "approve" would be easier.

Annual payments for enhanced listings. It sounds like the Stripe Customer Portal might be a way to make this work, but I will have to dig a little deeper into how that integrates with WordPress. I would also need these to revert to normal listings after a year if a new payment isn't processed. Any thoughts on how you would implement payments so that I don't have to do invoicing or move posts to "normal" manually?

I'm not averse to getting the site set up and then paying a developer to come in and add these two functionalities later. I really don't want to mess it up and create a security issue. I just don't want to go too far and have to scrap everything later.
 

bernard

BuSo Pro
Joined
Dec 31, 2016
Messages
1,608
Likes
1,256
Degree
4
@mikey3times

Ok, so I would say you could add two ACF fields to your custom posts: Claimed (True/False), Approved Claimed (True/False) and Claimed By ( Text or even better, a User).

I think you can do this with WP Forms:

https://wpforms.com/features/

What you want to do is the ability to add to an ACF field with the forms, really no different than commenting on a post.

I haven't done anything like this, but I think you could get it done with WP Forms and ACF.

WPForms also has a Stripe plugin.
 

Ryuzaki

お前はもう死んでいる
Moderator
BuSo Pro
Digital Strategist
Joined
Sep 3, 2014
Messages
5,005
Likes
9,600
Degree
9
You may be able to send URL parameters on the "claim this listing" links that could be auto populated, and attach the "post ID" for the custom post. And then when they sign up an account you could take them straight to the right "edit post" page in the dashboard. That might be getting complicated, but if you could get it working it'd be slick and frictionless for the user.

So like yoursite.com/register.php?listing=28 and then you grab the listing ID from the URL and then redirect the user after registration.

I've passed these kinds of parameters around Wordpress sites before on the front end. It can be real slick and useful. You just have to register them in functions.php so they system recognizes them. But as far as intercepting them and using them to do redirects after registration, that'd be a bit more involved of a function but I'm assuming it's possible, even within Wordpress itself.

The problem with this is assuming the people claiming the listing are the real people. I'd probably just do this outside of the site in some kind of CRM so you can follow up and sell enhanced listings and verify details, etc.

But yeah, having ACF radio selectors to say Claimed / Unclaimed / Submitted just to help you sort in the dashboard would be good. You could easily add that as a sortable column in the dashboard. You could have a text field to match it to some ID in your CRM too.
 

mikey3times

BuSo Pro
Joined
Aug 25, 2018
Messages
152
Likes
126
Degree
1
Thanks for the help. I have a lot to figure out, but this has me excited to get going. I’ve always put this off because none of the directory plugins did what I wanted. This has a lot of potential and a lot of flexibility. I appreciate your help.
 

bernard

BuSo Pro
Joined
Dec 31, 2016
Messages
1,608
Likes
1,256
Degree
4
Admin Columns Pro is a very useful plugin for backend work on posts.

It's made for all those cases that you think you should code something or use some fancy API, but really you just need a simple way to inline edit posts on the overview.

I use it to enrich custom posts, usually products, with stuff like color, shape, etc.

Takes maybe half an hour every other month.

Reminds me of my experience in corporate work where a lot of business procedures was interns or students sitting around doing copy/paste over and over.

The truth is that copy/paste and basic manual data manipulation is at the core of a lot of businesses or at least used to be. We can't all be Google.
 

mikey3times

BuSo Pro
Joined
Aug 25, 2018
Messages
152
Likes
126
Degree
1
I’m still investigating this, but wanted to add what I find in case others are thinking the same thing as me.

It looks like Formidable Forms has an add on for building a directory. That should work a lot like Bernard was suggesting with ACF and WPforms. It is expensive, but probably a lot better than a Directory Plugin.

I’m still also still considering building it manually based on Ryu’s suggestions and then handling payments/invoices offline until that because a problem.