I'm in a complicated situation. I'll try to explain it as easy as possible.
Imagine the following pages:
- Page 1
- Page 2
- Subpage 1
- Subpage 2
- Subpage 3
Each subpage of page 2 lists posts from a custom post type with a specific taxonomy. Let's call the post type Objects, and the taxonomy just Categories, to keep it simple.
To list the different posts from the different Categories, i have three different page templates for the subpages:
subpage-3-templ.php. Each one of these templates lists the posts from a specific Category for the post type (Objects). It's hardcoded.
So far all good, it works as expected. It's a little ugly to have to hardcode it but i don't know of any other way, so this'll have to work for now. (I'd prefer to ditch wordpress alltogether but that's another story)
All of those subpages lists the siblings in a sub menu. So, if you're on subpage 2 it will show subpage1, 2 and 3 (but subpage 2 has a current class on it). Works good.
Now to the actual problem; when you click one of the posts listed in a subpage, you get to a page which displays more info for the post, as expected. The problem is i want to show the submenu for page 2 in there (so, subpage1, 2 and 3). I don't know how to do that without hardcoding it.
Perhaps, and i don't know if this will work, but maybe i can find a page by it's template. I can create a template for page 2 (not for it's children, the actual parent page) called
objects-template.php and then on a post, i can grab the page that uses the template, then get all it's children, and then just simply list them up. I just don't know how to get a page by it's template, if that's even possible (Preferably by the template file name, but the template name works too).
// Query looks fine right? $query = new WP_Query(array( 'meta_key' => '_wp_page_template', 'meta_value' => 'objects-parent-page-template.php' )); // Dump the id (also tried just getting the object with get_queried_object(), still get null) echo '<pre>'; var_dump($query->get_queried_object_id()); die();