Select rows as columns for wordpress post meta

前端 未结 3 737
一生所求
一生所求 2021-02-09 13:59

WordPress\'s wp_postmeta table has all the additional fields for a post but they are in rows so it\'s easy to add more.

However, now I want to query for all

3条回答
  •  野性不改
    2021-02-09 14:23

    What about something like this?

    SELECT p.post_title, m1.meta_value as 'total_related', m2.meta_value as 'updated', m3.meta_value as 'cricket'
    FROM wp_posts p
    LEFT JOIN wp_postmeta m1
        ON p.id = m1.post_id AND m1.meta_key = 'total_related'
    LEFT JOIN wp_postmeta m2
        ON p.id = m2.post_id AND m2.meta_key = 'updated'
    LEFT JOIN wp_postmeta m3
        ON p.id = m3.post_id AND m3.meta_key = 'cricket'
    

    And since you aren't looking for a specific post you should be able to do this.

    If you want to query specific post_types you can try something like this

    SELECT p.post_title, m1.meta_value as 'total_related', m2.meta_value as 'updated', m3.meta_value as 'cricket'
    FROM wp_posts p
    LEFT JOIN wp_postmeta m1
        ON p.id = m1.post_id AND m1.meta_key = 'total_related'
    LEFT JOIN wp_postmeta m2
        ON p.id = m2.post_id AND m2.meta_key = 'updated'
    LEFT JOIN wp_postmeta m3
        ON p.id = m3.post_id AND m3.meta_key = 'cricket'
    WHERE p.post_type = 'my_custom_post_type';
    

提交回复
热议问题