Home › Toolset Professional Support › [Resolved] Need help with setting up search for CPTs
This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.
Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
- | 9:00 – 12:00 | 9:00 – 12:00 | 9:00 – 12:00 | 9:00 – 12:00 | 9:00 – 12:00 | - |
- | 13:00 – 18:00 | 13:00 – 18:00 | 13:00 – 18:00 | 14:00 – 18:00 | 13:00 – 18:00 | - |
Supporter timezone: America/Jamaica (GMT-05:00)
Tagged: Views plugin, WordPress Archives
Related documentation:
This topic contains 44 replies, has 3 voices.
Last updated by jesseH-3 4 years, 1 month ago.
Assisted by: Shane.
My question is how do I customize that code for multiple RFGs? And do I need both blocks of code?
Hi Jesse,
Do you mean if the Parent post has multiple RFG or if the Repeatable field group is from a different custom post type?
Please clarify for me.
Thanks,
Shane
The parent post has multiple RFGs. I listed them in my post on 10/15.
Hi Jesse,
Then in this case the example Christian gave should cover this perfectly. You can check which group it is based on the slug like this.
[wpv-conditional if="( '[wpv-post-type]' ne 'rfg-slug' )"] Show this content if the post type slug is not the same as the RFG slug<br /> Title: [wpv-post-title]<br /> Title with link: [wpv-post-link]<br /> Custom field from post: [types field="post-field-slug"][/types]<br /> [/wpv-conditional] [wpv-conditional if="( '[wpv-post-type]' eq 'rfg-slug' )"] Show this content if post type slug is the same as the RFG slug<br /> Title: [wpv-post-title item="@rfg-slug.parent"]<br /> Title with link: [wpv-post-link item="@rfg-slug.parent"]<br /> Custom field from RFG: [types field="rfg-field-slug"][/types]<br /> Custom field from parent post: [types field="parent-field-slug" item="@rfg-slug.parent"][/types]<br /> [/wpv-conditional]
In your case with the slugs added it would be
[wpv-conditional if="( '[wpv-post-type]' eq 'latest-model-row' )"] Show this content if the post type slug is not the same as the RFG slug<br /> Title: [wpv-post-title]<br /> Title with link: [wpv-post-link]<br /> Custom field from post: [types field="post-field-slug"][/types]<br /> [/wpv-conditional] [wpv-conditional if="( '[wpv-post-type]' eq ' prev-revision-row' )"] Show this content if post type slug is the same as the RFG slug<br /> Title: [wpv-post-title item="@rfg-slug.parent"]<br /> Title with link: [wpv-post-link item="@rfg-slug.parent"]<br /> Custom field from RFG: [types field="rfg-field-slug"][/types]<br /> Custom field from parent post: [types field="parent-field-slug" item="@rfg-slug.parent"][/types]<br /> [/wpv-conditional] [wpv-conditional if="( '[wpv-post-type]' ne ' prev-revision-row' OR '[wpv-post-type]' ne ' latest-model-row' )"] Show this content if post type slug is the same as the RFG slug<br /> Title: [wpv-post-title item="@rfg-slug.parent"]<br /> Title with link: [wpv-post-link item="@rfg-slug.parent"]<br /> Custom field from RFG: [types field="rfg-field-slug"][/types]<br /> Custom field from parent post: [types field="parent-field-slug" item="@rfg-slug.parent"][/types]<br /> [/wpv-conditional]
Please let me know if this helps.
Thanks,
Shane
Thanks, can you please double check your code. I am guessing you meant the second conditional to be a duplicate of the first (except with the RFG slug changed) but that is not the case.
I need to know how to customize the 3rd conditional for the two RFGs. You've done that in the first line of the 3rd conditional, but how do I do it in this line? Title with link: [wpv-post-link item="@rfg-slug.parent"]
(Please provide the code using actual slugs instead of rfg-slug since much of the confusion here is how I should incorporate two different slugs)
(Note that I'm only looking to output the title with link, so I'm omitting the lines that output the title and the custom fields, at least at this point.)
Hi Jesse,
The first 2 conditionals are meant to be as they are.
The first one is to target only the "latest-model-row" RFG and the second one is only to target "prev-revision-row".
The 3rd condition is to target any Posts that the archive is displaying that is not from any of the above 2 conditionals.
"@rfg-slug.parent" is referring to the slug of the repeatable field group where you should replace it with the actual slug. An example would be @prev-revision-row.parent
Most times we can't provide with the actual slugs given that in most cases we don't know what the actual slugs are unless they are provided.
The conditionals are only meant so that you can target your post types individually.
Please let me know if this provides some clarity. Also are you getting any output with the conditionals added?
Thanks,
Shane
I have provided the actual slugs, and you even used them in your code: latest-model-row & prev-revision-row
So please tell me how to update the third conditional – without placeholders! – to output results for both of these RFGs. If they need to be split into two conditionals to do so, that is fine.
Regarding the first two conditionals, again, it sounds like they should be identical with the exception of the rfg slug. But they are not – one says "if the post type is the same" and the other says "if the post type is NOT the same" – and the outputs differ.
This is getting incredibly frustrating. I have provided all of the information you're referring to, along with login access to the site, but I continue to not get the information I am requesting. Is Christian available? He seemed to have a good understanding of what I am trying to do. Please let me know if he is able to look at this ticket instead.
Hi Jesse,
"So please tell me how to update the third conditional – without placeholders! – to output results for both of these RFGs. If they need to be split into two conditionals to do so, that is fine."
The third conditionals is for posts that are for Neither of your RFG. Given that this is a general search i'm assuming posts from other Post types will be displayed here as well, unless the archive is limited to only these 2 repeatable field groups. So any Posts that aren't apart of the Repeatable field group will be displayed using the 3rd conditional
Regarding the first two conditionals, again, it sounds like they should be identical with the exception of the rfg slug. But they are not – one says "if the post type is the same" and the other says "if the post type is NOT the same" – and the outputs differ.
They are meant to be Identical but they are targeting different RFG, so conditional 1 is being used to display all the RFG with the slug "latest-model-row"
The second conditional is for picking out RFG with the slug "prev-revision-row"
What I should've done was to remove these texts "Show this content if the post type slug is not the same as the RFG slug<br />" and "Show this content if post type slug is the same as the RFG slug<br />"
Perhaps this is where the conditional lies.
This is getting incredibly frustrating. I have provided all of the information you're referring to, along with login access to the site, but I continue to not get the information I am requesting. Is Christian available? He seemed to have a good understanding of what I am trying to do. Please let me know if he is able to look at this ticket instead.
I can understand the frustration but the solution i'm providing is from where Christian left off. I've initially asked you if the conditionals are displaying the correct item.
At this point I understand you want to customize how the RFG are being displayed which is what the conditionals are meant to do. So I need to know if the conditionals are displaying the Correct information, if not then can you provide me with the link to the page where I can have a look because the link you've provided in the private field is returning a page not found.
hidden link
I'm under the impression that the only thing left is to customize the output.
Perhaps we can look at it link that.
Thanks,
Shane
Okay, I just dove in and starting trying a bunch of different things. Here is what I have:
[wpv-conditional if="( '[wpv-post-type]' eq 'prev-revision-row' )"] Show the parent content if post type slug is prev-revision-row: [wpv-post-link item="@prev-revision-row.parent"] [/wpv-conditional] [wpv-conditional if="( '[wpv-post-type]' eq 'latest-model-row' )"] Show the parent content if post type slug is latest-model-row: [wpv-post-link item="@latest-model-row.parent"] [/wpv-conditional] [wpv-conditional if="( '[wpv-post-type]' ne 'prev-revision-row' OR '[wpv-post-type]' ne 'latest-model-row' )"] Show this content if post type is not either of the RFGs: [wpv-post-link] [/wpv-conditional]
This works correctly whether I'm searching for data in prev-revision-row RFG, latest-model-row RFG, or data outside of those two WITH THE FOLLOWING EXCEPTION:
The third conditional outputs a link to the RFG if I search for data in an RFG.
So, my new and hopefully final question is: what change do I need to make to this code so that the third conditional only outputs a link for data that is not in an RFG?
Sorry, looks like we both responded at the same time! Hold on while I review your response and I will get back to you.
The page you linked to will only work if you are logged in.
Regardless, I think it's best if we skip to the code in my post above, and the bolded question.
Hi Jesse,
I managed to find the search page and had a look at the conditionals. So far everything is working correctly from what i've tested.
[wpv-conditional if="( '[wpv-post-type]' eq 'prev-revision-row' )"] Show the parent content if post type slug is prev-revision-row: [wpv-post-link item="@prev-revision-row.parent"] [/wpv-conditional] [wpv-conditional if="( '[wpv-post-type]' eq 'latest-model-row' )"] Show the parent content if post type slug is latest-model-row: [wpv-post-link item="@latest-model-row.parent"] [/wpv-conditional] [wpv-conditional if="( '[wpv-post-type]' ne 'latest-model-row' ) AND ( '[wpv-post-type]' ne 'prev-revision-row' )" ] Show this content if post type is not either of the RFGs: [wpv-post-link] [/wpv-conditional]
The only thing that is needed is to add the content that you want to display in each section.
Hopefully this clarifies the issue. Also i'm able to confirm that the archive doesn't only display the 2 RFG but other posts as well, which will be handled by the 3rd conditional.
Perhaps we need to take it a step at a time with just 1 conditional at a time.
For this one below that should display for pre-revision-row, what exactly do you want to display
[wpv-conditional if="( '[wpv-post-type]' eq 'prev-revision-row' )"] Show the parent content if post type slug is prev-revision-row: [wpv-post-link item="@prev-revision-row.parent"] [/wpv-conditional]
Thanks,
Shane
They all work correctly, and output the correct thing, except the third one outputs every time, whether I'm searching for data in an RFG or not.
Try these search terms:
GKGADCA
(this is data that exists in latest-model-row)
GABLARA
(this is data that exists in prev-revision-row)
Legend
(this is data that is outside of both of those RFGs)
And I think you'll see what I mean.
Hi Jesse,
Thank you for the sample information. I was able to adjust the 3rd conditional using this.
Please check on your end now and let me know if the desired results are appearing for you now.
Thanks,
Shane
Got it. You changed OR in the conditional to AND.
[wpv-conditional if="( '[wpv-post-type]' ne 'prev-revision-row' ) AND ( '[wpv-post-type]' ne 'latest-model-row' )"] Show this content if post type is not either of the RFGs: [wpv-post-link] [/wpv-conditional]
Everything works correctly now.