Support » Plugin: Pods - Custom Content Types and Fields » no posts shown on custom taxonomy archive

  • Resolved dogel

    (@dogel)


    Hi,

    I used Pods to create both a custom post type and a custom taxonomy (in a custom theme), let’s call the CPT “picture” and the taxonomy “motive” for the following example. I assigned the “motive” taxonomy exclusively to the “picture” CPT.

    The CPT works well – I created a php template (single-picture.php) for its single pages, in which I used the WP function the_taxonomies(). This displays the name/s of the current taxonomy term/s of the post, linked to their archive pages (actually I only have one term per post, so it’s only one link). BTW: I am not even sure if “term” is the right word here – what I mean is something like the category name, but applied to taxonomies.

    Now let’s say the taxonomy term is “landscape”. So that link calls an URL like https://www.example.com/motive/landscape when clicked. Since the “motive” taxonomy is only used for the “picture” CPT, I would expect all “picture” custom posts which have the “landscape” term assigned to them to be displayed in a list, like regular posts on a blog page. However, the resulting page (which uses the “index.php” template) displays no posts, but instead the message which is written in the else part of the WP loop!

    Now, I *can* create a taxonomy-motive.php template and use a custom query in it, querying the desired CPT and taxonomy name, which works. But I would expect that also the standard WP loop/query in the index.php file returns a list of those posts?

    Did I oversee anything or will a regular WP loop really *not* display any posts in this situation?

    P.S.: One additional detail – I don’t know if it makes any difference: My WP site uses a subdirectory of a domain as its home URL, like https://www.example.com/mysite. So the above mentioned link is actually https://www.example.com/mysite/motive/landscape.

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author Jory Hogeveen

    (@keraweb)

    Hi @dogel

    This would be a question for WordPress support, not Pods.
    For example, your theme’s index.php might not support other taxonomies (no idea why since that is related to the theme). I assume there is no archive.php in your theme? If there is, you should take a look there. index.php is normally the front (blog) page.
    I doubt it would be permalink related.
    You could try a simple test with displaying the current object and see what it says on the index.php:
    https://developer.wordpress.org/reference/functions/get_queried_object/

    Closing this topic since it’s not a Pods issue.

    Cheers, Jory

    this doesn’t resolve my question, but just close it… :-/

    There *are* some settings for CPT in Pods like “Publicly Queryable”, “Public” etc.

    Adding a detail to my question: I am wondering if I could have set some of these parameters wrong, since the default WP loop won’t return any posts in situations where it should IMHO (i.e. the described one). If I didn’t change the default WP query, it should, shouldn’t it?

    Plugin Author Jory Hogeveen

    (@keraweb)

    The settings for CPT and taxonomies within Pods are the actual WordPress core settings for registering CPT and taxonomies. Pods merely registers them.
    For taxonomies to work on the frontend you’ll indeed have to make them public. Otherwise you can/should not use them on the frontend for your site.
    If you’ve set your taxonomy and CPT to be public then your settings are correct.

    See:
    https://developer.wordpress.org/reference/functions/register_taxonomy/
    https://developer.wordpress.org/reference/functions/register_post_type/

    In any case these are theming questions. That is why I closed it.

    Also take a look at the WordPress template structure:
    https://developer.wordpress.org/themes/basics/template-files/

    Cheers, Jory

    Thanks for your replies, Jory!

    I know about template structures and hierarchies, and I made both the CPT and my taxonomy public. As I wrote, I have no problem creating a php template which contains a custom query for that situation.

    I am just wondering why I don’t get any results when using the default query in the situation described above and if it could have to do with any PODs settings. (BTW, thanks for the tip, but get_queried_object(); returns nothing in that situation)

    Plugin Author Jory Hogeveen

    (@keraweb)

    If get_queried_object() returns nothing then it’s some other issue with your theme.
    Maybe the default query code in index.php isn’t compatible with the taxonomy?

Viewing 5 replies - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.