• I want to get all the data with the meta key of “project_id” from post meta table. I wrote a query, it should work in thoery, but I have no way to see what I get, and inject this query to my plugin doesn’t generate anything. Please take a look at this query, and help me understand if it is correct, what’s the formate of the outcome, How can I echo it to see what I get:

    function mp_all_ids( ){
    global $bp, $wpdb, $post;
    
    $query = <<<QUERY
    SELECT      project_id.post_id
    FROM        $wpdb->postmeta project_id
    LEFT JOIN  $wpdb->postmeta height
                on height.post_id = project_id.post_id
                and height.meta_key = 'height'
    LEFT JOIN  $wpdb->postmeta width
                on width.post_id = project_id.post_id
                and width.meta_key = 'width'
    WHERE       project_id.meta_key = 'project_id'
    ORDER BY    project_id.meta_value+(0) ASC
    QUERY;
    $data = $wpdb->get_results( $query );
    
    return apply_filters( 'mp_ids', $data );
    }

Viewing 6 replies - 1 through 6 (of 6 total)
  • Thread Starter imjscn

    (@imjscn)

    I tried a var_dump, got this:

    array(3) {
      [0]=>
      object(stdClass)#457 (1) {
        ["post_id"]=>
        string(3) "385"
      }
      [1]=>
      object(stdClass)#458 (1) {
        ["post_id"]=>
        string(3) "451"
      }
      [2]=>
      object(stdClass)#377 (1) {
        ["post_id"]=>
        string(3) "453"
      }
    }

    Now, how can I get the 3 strings in each object?

    Thread Starter imjscn

    (@imjscn)

    I searched out an example, this is exactly the output formate I need:

    array(2) {
      [0]=>
      object(stdClass)#1 (3) {
        ["ID"]=>
        string(1) "2"
        ["name"]=>
        string(18) "cat"
        ["desc"]=>
        string(4) "cc"
      }
      [1]=>
      object(stdClass)#2 (3) {
        ["ID"]=>
        string(1) "1"
        ["name"]=>
        string(19) "dog"
        ["desc"]=>
        string(7) "dd"
      }
    }

    but the output was generated by a query that run on multi-table. Please help me figure out a query to run on wp postmeta table( one table only)

    loop through all the post IDs you need with get_post_meta()

    http://codex.wordpress.org/Function_Reference/get_post_meta
    http://codex.wordpress.org/The_Loop

    you can use query_posts() to modify the posts selected by the loop.
    http://codex.wordpress.org/Function_Reference/query_posts

    Thread Starter imjscn

    (@imjscn)

    get_post_meta only get one post’s meta, and I need all posts’ metas.
    query_posts will get all the posts but that’s not what I want. I don’t want the posts, I want to loop the object out of post loop.
    Any suggestion?

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Advisor and Activist

    Don’t bump your posts it’s against policy (and remember this is a holiday weekend in the US – a lot of the regulars are BBQing 😉 ).

    I’m moving this to the advanced forum, where there’s less traffic and more folks who specialize in the weird.

    so if you combine query_posts and get_post_meta you’ll get all posts’ metas.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘what's the output of this query?’ is closed to new replies.