• So I have a problem…. obviously, right? So if I were to do something like:

    get_posts('post_type[]=post_type_1&post_type[]=post_type_2');

    I would receive a list of posts that are either of post type ‘post_type_1’ or of ‘post_type_2’. Now if I goto a url like the following:

    https://www.my-site.com/index.php?post_type[]=post_type_1&post_type[]=post_type_2&name=testing-post

    I get a 404 error page.

    How can I make the later example work? I have been browsing the WP base code (like always) and found the following line in classes.php on line 278:

    $this->query_vars[$wpvar] = (string) $this->query_vars[$wpvar];

    Most probably don’t know what this line actually means, but in short it converts all the query vars (everything after the ? in a url) to strings, even those that should be arrays (since the WP_Query object supports arrays). So instead my slightly parsed url winds up looking like:

    https://www.my-site.com/index.php?post_type=Array&name=testing-post

    Then later in classes.php on line 289, we have this:

    // Limit publicly queried post_types to those that are publicly_queryable
        if ( isset( $this->query_vars['post_type']) ) {
          $queryable_post_types =  get_post_types( array('publicly_queryable' => true) );
          if ( ! in_array( $this->query_vars['post_type'], $queryable_post_types ) )
            unset( $this->query_vars['post_type'] );
        }

    which does what it says, eliminates my now post_type=Array from the query completely because ‘Array’ is not only not a proper post type, but it is not ‘publicly_queryable’.

    So, again I ask, how do I get a url like:

    https://www.my-site.com/index.php?post_type[]=post_type_1&post_type[]=post_type_2&name=testing-post

    to work, assuming I do not know which post type it is?

    p.s. ~ for the really high-level programmers, it is actually a little more in depth than this, but this is the basic idea of the problem, and works exactly the same way as the actual problem.

Viewing 2 replies - 1 through 2 (of 2 total)
Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Multiple Post Type Queries’ is closed to new replies.