What’s up, my friends?
Welcome back to the channel.
My name is Kevin Geary, and this is the go-to channel for learning web design best practices using a page building workflow.
If that sounds like it’s right up your alley, go ahead and hit the subscribe button below.
What we’re going to be building today is a user-generated testimonials section for your website.
So what we have to do is build, first of all, a testimonial section.
We are going to loop that section so that the testimonials are dynamically added to the website from a custom post type.
And then we have to create a front-end submission form so that users can submit their testimonial.
And when they submit that testimonial, it either gets published immediately on the website or it goes into review.
And when it goes into review, you can then moderate it on the back end.
You can approve it or reject it.
And if you approve it, it goes on to the website as well.
There’s going to be some other goodies that we take a look at, but let’s go ahead and dive right in.
So I’m going to share my screen.
First, let’s look at our stack that we’re going to be using as far as plugins go.
And I just want to say that this is going to be a little bit of a flex.
You know what I’m saying?
Like the stack is the stack for very good reasons, right?
I’ve advocated for this stack for a very long time.
And you’re going to see exactly why this stack is advocated for in what it allows you to do, how efficient it is, how easy it is to get to where we want to go in a tutorial like this.
But we’re using Advanced Custom Fields Pro, automatic CSS frames.
Happy Files is more or less inconsequential to this particular training, but it’s there.
And then we have WS Form Pro and WS Form Pro, the post management add-on.
Now, if you don’t use these exact tools, you should still follow along.
Number one, you want to see how these tools are deployed in a scenario like this, but you’re also going to learn concepts in general that are very important to modern web design.
So I’m going to hop over to pages.
The way that I’m going to attack this is first things first, like let’s just get a testimonial page going.
We need a testimonials page with a grid of testimonials.
Okay.
So I’m going to go over to pages and I’m going to hit add new page.
Actually, you know what?
There’s actually two ways that we can approach this.
We can create a page or since we’re going to be using a custom post type, we could just use the archive of the custom post type.
Again, there’s two ways to do this.
A little bit of pros and cons, but that’s, you know, neither here nor there for this particular tutorial.
We’ve done the page often.
Let’s, let’s go the archive route.
So the first thing I’m going to do is go to post types.
We need a way to essentially take all the reviews that are going to be on this website and put them in a bucket.
We want to isolate them from other content.
That’s how you organize your content.
That is content management.
We’re using a content management system.
We should manage the content.
We don’t want every, uh, testimonial to be a page or a post in this website.
That would be terrible content management.
So we’re going to use a custom post type, which is like creating a new bucket that these posts are going to live in.
So I’m going to go to post types.
I’m going to go to add new, and we are going to say testimonials, test, test, testimonials.
Okay.
Testimonial, uh, and then testimonial, testimonial.
Okay.
Advanced configuration visibility notes, uh, general.
No URLs.
I’m sorry.
URLs, uh, archive.
There we go.
We want to turn on the archive.
Uh, everything else should be fine the way that it is.
Let’s just go ahead and hit save.
And so immediately you’re going to see that we have this new testimonials area for this website.
And I can just start adding my testimonials here, which is fantastic.
Let’s just go there and see what happens.
Like I can hit add new testimonial and I get a blank slate.
Now, what we need are called custom fields for actually putting in the data related to the testimonial.
Now we kind of want to know what our testimonial card is going to look like because that’s going to determine what fields we need, right?
What needs to be populated inside of this testimonial.
So now that we’ve created the CPT, we actually also have the archive as well.
I’m going to go into bricks and I’m going to go into templates.
I should have said bricks obviously is the other part of this stack.
Okay.
So I’m going to add a new template and I’m going to say testimonials, uh, testimonials, and we can just say archive, right?
So we’re denoting in the title that this is an archive page.
We’re going to assign it to the archive area and I’m just going to go ahead and hit publish.
Now we’re going to edit with bricks.
We got to go into the builder for the rest of this.
And the first thing I’m going to do is settings, template settings, and conditions.
We have to assign this template somewhere.
I’ve assigned it as like an archive page, but I didn’t say what archive it belongs to, right?
So what we’re going to do is do, uh, archive and then archive type is going to be post type.
And then post type is going to be testimonials.
So now I’ve assigned it to the archive of the testimonials.
Get me.
Okay.
We’re going to go ahead and hit save.
So that’s done there.
And then I can populate content.
I don’t think I need to worry about that right now.
Uh, we will just move on to getting a, getting the actual page going.
Okay.
So what we’re going to do is we’re going to take a look at layouts that are available to us in the frames library, because why would you build this stuff from scratch when it’s literally right there for you?
So I’m just going to write test right there.
And then that’s just going to pull up all the testimonial sections for me.
And, um, you know, there’s a lot to choose from.
Let’s just go with easy.
Let’s go with easy out of the gate testimonial section alpha.
And I’m going to say, uh, what our clients are saying.
We’re going to pretend that we’re a web design agency.
Okay.
Uh, so we’ll say that this is testimonials.
And then we have three testimonials right here.
Let’s just save this and view on the front end and see with the URL, uh, what we’re able to get to, I think testimonial and bang, there we go.
So now we got our archive page.
We’re ready to rock and roll.
Um, I only need one of these cards because we’re going to loop through the cards.
But before we do that, let’s go ahead and take care of our custom fields.
Now that we can actually see our card, we know what fields we need.
For example, we need a field for the star rating.
We need a field for this little call out thing.
We’ll call that a sound bite.
Uh, we need a field for the main body of the review.
We need a field for the person’s name.
We need a field for the person’s title.
We need a field potentially for their headshot, or we could just use the featured image.
Okay.
So let’s go back and let’s do these custom fields.
Now that seems like, wow, that might be a lot.
That might be very complicated.
I don’t know.
It’s actually not.
It’s very, very, very easy.
Okay.
So we’re going to go to ACF instead of post types.
We’re going to go to field groups, add field group.
We’re going to name it testimonials.
We’re going to first, before we do anything else, come down to the bottom where it says settings, and we’re going to assign it to our testimonial post type.
So those, these fields are only going to show up on testimonials.
They’re not going to show up on pages.
They’re not going to show up on posts.
They’re not going to show up anywhere else.
They’re only going to show up on testimonials.
Let’s go ahead and save those changes.
Now a little bit confusing.
We don’t need the person’s name because the person’s name is actually going to be the title of the post, but we do need like their company.
Like remember, this is like an agency.
So let’s say what is the name of your company?
So I’m going to create a text field and we’re going to call this, testimonial company name.
I like to kind of prefix the names of the fields with what the thing is.
That makes it easier to find the dynamic data later on as, as you’ll see, I think.
Okay.
So testimonial company name.
And when you have a website that has tons and tons of custom fields, this really just helps kind of mentally compartmentalize everything.
Okay.
So we’ve got the company name.
We could use the block editor as the body of the testimonial, but I’m actually going to use, cause I actually want to limit the character count.
I’m not sure if you can do that with the, with the block editor as, as content.
In fact, I don’t even know if that’s going to work well with our front end submission form.
So I’m just going to make this easy and we’re going to create a lot of the things that we’re going to do.
So we’re going to do a validation on these fields.
And in terms of validation, now I am going to say that this is required and I’m going to say there’s a 300 character limit on this.
We will also make this one required as well.
So we’re going to do a validation on these fields.
So we have testimonial body.
Let’s go back to the front end and look what else we need.
Okay.
Let’s go to testimonials.
All right.
Oh, we need, we need the call out.
Okay.
Or what, what are we going to call it?
The sound bite.
We’ll just use the text field and we’ll say testimonial. sound bite.
Okay.
And we can also come over to validation required to set a character limit on this of maybe 40 characters.
And on turn, in terms of presentation, I’m going to add some instructions and it’s going to say, um, a one line, uh, reaction to our service, something like that.
Okay.
So it’s kind of letting people know what that is for.
What, like, what is a sound bite?
And if you look at it here, it’s like literally a one line, just that’s the call out part, the most important part of the testimonial, the initial reaction.
Okay.
That the person has had, uh, we already got the testimonial body.
Person’s name is going to be the title.
We got the company name right here.
We’re going to use the featured image as the headshot.
All I need is a review rating or testimonial rating.
So I am going to come over here and we’re going to find a different way to do this.
So we’re going to use maybe I want the little slider.
Okay.
The little slider input range, it’s called a range input.
And we’re going to call this the testimonial rating.
Okay.
And the default value is going to be five.
Uh, hopefully, you know, everybody wants to give a five star review, but we’re going to go to validation.
It’s going to be required.
Minimum value is half a star.
You can’t go zero stars on us.
Uh, maximum value is going to be five stars.
And, um, I think range default value validation, minimum maximum step size under presentation.
Let’s do 0.5 increments.
We got to go in half star increments.
Okay.
I think that’s all we need to do for our testimonial rating.
Let’s go ahead and hit save.
Now, when I go to testimonials, I add new testimonial.
Oh, we’re going to see a bunch of custom fields here that I can fill out.
Person’s name goes up here.
Company name goes here, body, the testimonial, the soundbite and the testimonial rating.
And they can use the slider and it goes in 0.5 increments.
So backend in terms of infrastructure, we’re, we’re good to go.
What I want to do now is put in a sample testimonial, and then we need to see if we can get our query loop and our dynamic data working to show that testimonial on the front end.
Then, then we can tackle the front end submission form.
Okay.
So what we’re going to do is we’re going to say Jane Doe.
All right.
Jane Doe always gives the best testimonials, uh, testimonial company name, uh, Jane’s widgets.
Okay.
Widgets right there.
And then testimonial body, uh, we will say, this is by far the best agency I’ve ever worked with.
They made my logo bigger when requested and they changed all the colors to my favorites.
Okay.
It’s just a little bit of Bev in Jane.
Okay.
It’s a little bit of Bev in Jane.
All right.
Testimonial soundbite by, by, by far the best, the best agency in our area.
Bang.
Okay.
Uh, let’s do a 4.5.
She, she’s, you know, she’s a tough crowd.
She’s a tough crowd.
So we’re going to go 4.5.
She’s, she doesn’t give full five-star reviews.
A 4.5 star review.
Jane Doe featured image.
I already got some photos in here.
Which one looks like a Jane Doe?
I don’t know.
None of them really.
Let’s, let’s put her in there.
Um, and then this is, this is a, this is done.
This is a wrap.
Let’s go ahead and hit publish.
So now notice, look, my pages are clean.
My pages are clean.
I’m using an archive page for the testimonials page.
And then in my testimonials area is where all my testimonials live.
Um, you got to keep your pages area clean guys.
You got to keep your posts area clean.
This is proper content management in WordPress.
Okay.
So now what I’m going to do is I’m going to go back to our templates.
We got to get to our, our testimonials archive template and see if we can get this loop going, see if we can get this dynamic data going.
So I’m going to come over here and I’m going to delete two of the cards.
Okay.
Um, and then I am going to turn this first card into a query loop and my query is going to be tested.
I actually wonder if, because it’s an archive, um, disabled is, is main query archive search.
I think it will just query the testimonials by themselves.
Like I don’t even have to choose testimonial.
Let’s just go ahead and find out.
So we’re going to remove this content.
That’s static content.
And we need to replace the static content with dynamic data.
And to do this in bricks, you hit the little lightning bolt, and then we need to choose the little call out.
Now, if you remember what the field is called, you can just start typing it, uh, or you can just scroll to the bottom and they’re all organized for you right here.
So this is the testimonial soundbite.
And let’s go ahead and hit save and let’s go back to the front end and refresh and look by far the best agency in our area.
So the loop is working.
The dynamic data is working.
The archive page is working.
Life is really good right now.
This is not, this should not be too difficult to follow along with.
Even if you’re a beginner, um, maybe I talk a little fast, you can slow it down.
You can watch it again, whatever, but hopefully you’re keeping up.
Right?
So what am I going to do now?
Well, let’s just replace everything.
Let’s just replace everything.
So this is the testimonial body person’s name.
Ah, we don’t have a feel for that.
What were we using?
We’re using the post title.
So I’m going to hit dynamic data.
Look at that right there.
Post title.
It’s just going to pull it in.
That’s the person’s name, person’s title.
Now this is, see if I write company, it’s just going to find company name right there.
And then over here, we are going to do the featured image.
So dynamic data search for featured image.
And let’s pull that in as well.
Okay.
We want this to be a figure.
We want this to be a, why is it not?
Okay.
Yeah.
It’s just not previewing, but we should.
Aha.
Look at that.
Okay.
Now what we want to do is we’re seeing a little bit of an issue with aspect ratio.
It’s actually probably, if I had to guess flex, it’s a flex grow or flex shrink issue.
Okay.
So we’re going to go to layout, find flex shrink, put that to zero and see if that fixes our issue.
And it does.
Now she is a square.
Okay.
Like she’s supposed to be flex is a little finicky like that sometimes, uh, depending on the amount of content.
Okay.
We’re not going to get into all that.
Um, but I got Jane doe belongs to Jane’s widgets.
What did I not have to do?
First of all, I didn’t even have to build this page that came from frames.
I didn’t have to build this, uh, testimonial card that came from frames.
Uh, I just made some dynamic data and some custom fields with automate with, um, ACF, like automatic CSS is handling all my spacing, my typography, my, like I, this is being handled for me by the stack.
This is why the stack is the way it is.
We’re just kind of piecing things together.
It’s so easy, right?
Okay.
Let’s keep moving on.
Look at the stars right here.
Have you thought to yourself, Kevin, how are you going to make those stars respond to the value that people are actually entering?
Like, let’s just check.
Remember we did 4.5 stars, but that’s actually five stars.
How do we get there to be four and a half stars?
Really good question.
Really good question.
What I’m going to do is I’m going to delete all the stars that are in the header of this card.
And I want to take this moment to remind you that frames is modular and frames follows somewhat loosely atomic design principles, which means there’s an atom.
There’s an atom, not an atom, like an atom and Eve, not like a guy, atom, an atom, an atom, like a T O M atom.
There’s an atom component that we can add in here called a rating.
Okay.
And so what I’m going to do is I’m going to go to templates and frames and I’m going to hit rating and you’re going to see product rating, alpha rating, alpha.
So if I’m doing e-commerce, I go with product rating, alpha.
If I’m not doing e-commerce, I’m just doing some generic rating, star rating system.
I just go with rating, alpha.
I’m going to insert rating, alpha.
Guess what?
That is the infrastructure that I need to dynamically display stars.
I’m going to show you how easy this is.
I’m going to put it in the header.
Okay.
I’m going to save.
That’s all I’ve done.
I just swapped out the stars for this new.
Wow.
Look at that.
Okay.
Now it’s not actually pulling that’s cheating.
Okay.
It’s not actually pulling the actual review.
What I have to do is click on rating alpha, go to attributes, data rating, and you’re going to see it’s already set up 4.5 stars by default, but it’s using a data attribute for the rating.
Why is it doing this?
It’s so I can clear out the static value and I can put in the actual dynamic value from the custom fields.
Now let’s save, refresh 4.5 stars, but watch this.
We’re going to go back in to testimonials and we’re going to play with that little slider right there.
And we’re going to say, maybe she said 2.5.
I’m going to hit update.
We refresh on the front end.
I get 2.5 stars.
Guys, that alone right there, assuming you even know how to do that is a good 30 to 60 minutes of work.
Okay.
If you don’t know how to do that, I mean, you could be looking at hours of work trying to figure this out.
What did I do?
I added a little bit of a modular frame into what I was already doing for what I needed.
And the infrastructure is just handed to me on a silver platter.
The answers are just given to me on a silver platter.
It’s already using the primary color of my website, by the way.
Okay.
So all in all, just very, very, very fantastic.
The way these things fit together and wait until we build the form guys, wait until we build it.
You see the magic of the form.
Again, it’s, I said, this video is going to be a little bit of a flex.
It’s like, why is the stack the way it is?
This is why the stack is the way it is.
Okay.
So let’s save there.
We’re good.
We’ve got dynamic data.
We’ve got all this stuff working the way we want it.
I think all that’s left is we build the front end form.
That’s it.
We build the front end form.
So what we’re going to do is we’re going to go back here and we are going to go to WS form right now.
You can see that it’s blank.
One key thing here.
I’m going to go to plugins.
You need the post management add-on post management add-on.
This might be in WS form pro.
Don’t know what plan it’s in.
Just buy the biggest plan.
And you’re covered.
This is, this, this is a system, a form system that you’re going to use on every single website, every single project.
You’re going to learn it.
You’re going to know it.
You’re going to master it.
It’s going to do everything you need it to do.
And it has the best support hands down of pretty much any WordPress plugin in existence, as well as the best documentation of any WordPress plugin in existence.
So all around five stars for WS form.
I’ve talked about this ad nauseum.
It’s time you start listening.
It’s time you click the link in description below and get yourself a copy of WS form.
And I’m going to show you right here why we say these things.
So I’m going to go to add new.
I’m going to go to post management and look, it already knows that I added a testimonial CPT and it’s just offering to build a form for me based on that CPT.
So let me just say use template for the testimonial CPT.
It’s going to work a little magic.
And there it is.
That’s the form’s done.
So remember, we’re using the title for the name.
So I’m going to take this title field.
I’m going to drag it down here and I am going to call this name.
Okay.
So, uh, testimonial, let’s just say name.
All right.
I’ll say first, uh, and last name like this first and last name.
Perfect.
Uh, then we have the company name.
So we can just, uh, I’ll hit command S saves that field.
Then I can open this field and I’ll just make this say company name.
It’s done all the routing for me, by the way.
Okay.
If I go up to actions, it’s doing the, it’s, it’s already hooked these fields in this form to the custom field.
Like I don’t even have to, I don’t have to do anything.
I don’t have to do anything.
Uh, all I got to do is make these labels say what I want them to say.
Uh, so we’ll just say testimonial, uh, save and then soundbite.
Okay.
Sound, sound.
Is that one word?
I don’t even know.
Soundbite.
Uh, we’ll save that and let’s just put that above here.
So soundbite first, then testimonial, and then we’ll do the rating.
Okay.
So rating and then default five, I think we need to go to advanced.
And the only thing we need to do is the minimum 0.5 and the step to 0.5 to match how the custom field works.
Let’s go ahead and hit save there.
We never want our submit button to say submit.
So we’re going to say publish review, uh, or publish testimonial.
Perfect.
Save that.
And then the slug, the content, the featured image, Oh, featured image.
We need that, right?
Let’s move this down here.
And actually I want it to start by doing the rating.
That’s the first thing I want them to do is choose what they’re, what they’re going to do the rating as let’s do their soundbite.
Let’s write their testimonial.
Then let’s ask them for the first and last name.
Then let’s ask them for their company name.
Then let’s ask, ask them for their headshot, which we are also going to say is required.
And instead of it saying featured image, it is going to say headshot.
Okay.
Perfect.
Let’s go ahead and publish this form.
We’re going to take this section up here and mark it as hidden.
So it does not show up.
We’ll publish those changes as well.
The routing is already done for us.
The everything is already done for us.
So now what we’re free to do, we’re going to come to pages, add new page, and we’re going to, we’re going to make a page to add a testimonial.
Okay.
We’re going to say add testimonials.
Okay.
Or submit, submit testimonial.
Okay.
Submit testimonial.
Let’s go ahead and publish that page.
Let’s go ahead and edit this with bricks.
And we’re going to go right back to frames.
Let’s use a squeeze page, squeeze page Foxtrot.
Let’s go ahead and grab our background image here.
And we’ll put in this, this girl who looks like she works in corporate.
And that’s it right there.
Can I, can I position this?
Um, let’s go 25%, 50%.
That’s better positioning on that image.
Absolutely.
Fantastic.
Uh, leave us a review and we’re going to say submit testimonial.
Okay.
We’re going to delete the description because we don’t need it.
We don’t need a list.
We don’t need, we do need a form wrapper, but we don’t need that form.
We don’t need a, maybe we do need a notice.
We’ll leave that for now inside the form wrapper.
I’m going to add, not going to do that.
Not going to do that.
Not going to do that.
Where are we going?
Okay.
Uh, erroneous click.
Uh, we’re going to add the WS form.
We’re going to select the post management testimonial form that we just created.
Doesn’t look very great.
So I’m going to use automatic CSS form light class to style that form for me.
Okay.
And all of these controls for how a light form style works is available to me in automatic CSS.
I just come into form light style, and I can literally customize every single aspect of this.
Like for example, the range slider, the thumb color is my primary color by default.
But if I wanted that to be black, look, now it’s black.
Look how easy it is to do this level of customization.
Okay.
I want that to be primary.
Let’s go ahead and hit save.
I hit command Z on here.
And, uh, what it did is it removed the class.
It removed the form light class.
So let’s add that back.
Go ahead and hit save.
Let’s just check out this on the front end for a second.
Let’s just check.
I mean, look at this landing page that we, that we just created lickety split.
All right, let’s go ahead and let’s go ahead and publish a testimonial.
Let’s see what happens.
So let’s put this rating at four.
We’ll say, um, fantastic outcome.
Love our new site.
Okay.
Uh, X agency was tremendous to work with.
They listened to all of our needs and our brand new website is exactly what we imagined better yet.
It’s already producing, producing, uh, positive ROI.
Can’t recommend enough.
Okay.
This is going to be John Doe.
He runs John’s crackers.
Boy’s been selling a lot of crackers since he got his new website.
Okay.
That’s, that’s John right there and published a testimonial.
And look at this successfully added testimonial.
Let’s hop back and refresh.
There it is on the backend.
Are you telling me that this is also available on the front end of the website too already?
Let’s go here and let’s go testimonials.
Bang.
And look at this fantastic outcome.
Love our new site.
X agency.
There’s John Doe.
There’s his face.
There’s his man, four stars, four stars on the review.
Now you might be saying, Kevin, I don’t want people to be able to publish right to my website.
Like there’s gotta be some form of moderation, right?
Absolutely.
Some form of moderation.
Let’s go talk about it.
So let’s close all these tabs.
Let’s go to WS form forms.
Let’s open the post management testimonial.
Let’s click this little lightning bolt, which is the form actions.
And we are going to go with post management right here.
And you’re going to see status published.
Okay.
So when we submit the form, the status of this post is going to be set to published.
I want it as pending, pending, like pending review, save and close, go ahead and publish.
Okay.
Now let’s go back to the front end and let’s submit another testimonial.
All right.
So we’re going to go to, uh, submit testimonial.
We don’t have a navigation for this website yet, obviously.
And let’s do a 3.5.
Okay.
You know, great website, but, but, uh, behind schedule.
Okay.
Great.
So, uh, the website is exactly what we hoped for, but it was delivered, delivered six weeks behind schedule.
If they can improve their processes and deliver on time, it would be a five-star experience.
Okay.
Great.
Exclamation mark.
This is, uh, John, uh, John, John critical.
Okay.
John, John critical.
Um, company name, company name, uh, John’s widgets.
All right.
I don’t know.
I, I can’t, I can’t come up with all this stuff on the fly.
Um, you know what, let’s use the same.
Let’s just, cause I, those are like five megabyte images.
Let’s just use the same one.
The difference here is when I hit publish, I’m now going to go into testimonials and look at this.
John critical is pending.
Let’s go to the front end of the website.
All right.
So let’s go to, uh, now we want to do this.
Okay.
Let’s do this.
All right.
And then we got to go to testimonials, testimonials.
And it’s not there.
It’s not published on the website, right?
It’s only published when you moderate it.
So we’re going to take a look at it.
There’s John critical.
Look, all the fields are filled out.
I can moderate it on the backend and then go, okay, this is good.
Publish it.
And as soon as I hit publish or somebody hits publish, we then go back to the website and now it shows up and look three and a half stars.
So we’ve got dynamic star ratings.
We’ve got a testimonial archive page.
We’ve got testimonial cards being generated dynamically in a loop, all dynamic data front end submission form.
I didn’t, I didn’t do much of anything.
Technically speaking, I added some frames.
I dropped in some dynamic data.
WS form built the front end submission form for me.
It hooked it up to all of the custom fields.
Uh, I’ve got a separate landing page for submitting the thing.
The form is styled, uh, using all automatic CSS stuff.
Everything’s fluidly responsive.
Everything’s everything’s everything’s ever.
I’m, I’m, I’m highly, highly leveraging the stack that I’m using to get rather complex things done with very little effort in a very little amount of time.
This is why the stack is the stack, my friends.
Okay.
So when I advocate for this stack, I think you can see exactly why you can try to use other tools.
You can try to use other frameworks.
You can try to use other systems.
You’re probably not going to have the same outcomes like this.
Okay.
There is a difference.
And, um, hopefully you learned something in this video.
Even if you’re not an ACSS user or frames user or WS form user, you learned about custom post types.
You learned about the concept of dynamic data.
You learned about the concept of front end submission forms, routing to custom fields on the back end.
Okay.
The technical setup for that, right?
If you don’t have the stack, it’s going to be a lot more technical.
If you do have the stack, it’s going to be a lot more easy and a lot more accessible to you.
Okay.
Depending on your skill level.
If you’re a beginner, the stack does even more work for you.
And if you’re advanced user, the stack is just lovely to have because it means you’re not having to lean as much on your technical skills.
It’s kind of just handed to you on a silver platter.
So hopefully again, you got a lot out of this video.
If you did drop a comment below, drop a like on it, make sure you’re subscribed to the channel.
There’s more videos coming your way until next time.
Peace.