タクソノミ(カテゴリーやタグ、カスタムタクソノミ)の一覧を取得する
SELECT wp_terms.term_id,wp_terms.name,wp_terms.slug,wp_term_taxonomy.term_taxonomy_id,wp_term_taxonomy.taxonomy FROM wp_terms JOIN wp_term_taxonomy ON wp_terms.term_id =
wp_term_taxonomy.term_id;
タクソノミのnameがhogeであるpost_idの一覧を取得する
SELECT wp_terms.term_id,wp_terms.name,wp_terms.slug,wp_term_taxonomy.term_taxonomy_id,wp_term_taxonomy.taxonomy, wp_term_relationships.object_id AS post_id FROM wp_terms JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id LEFT OUTER JOIN wp_term_relationships ON wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id WHERE wp_terms.name = 'hoge';
タクソノミのnameがhogeである記事のpost_idとpost_typeを一覧で取得する
SELECT wp_terms.term_id,wp_terms.name,wp_terms.slug,wp_term_taxonomy.term_taxonomy_id,wp_term_taxonomy.taxonomy, wp_term_relationships.object_id AS post_id, wp_posts.post_type FROM wp_terms JOIN wp_term_taxonomy ON wp_terms.term_id =
wp_term_taxonomy.term_id LEFT OUTER JOIN wp_term_relationships ON wp_term_taxonomy.term_taxonomy_id =
wp_term_relationships.term_taxonomy_id JOIN wp_posts ON
wp_term_relationships.object_id = wp_posts.ID WHERE wp_terms.name = 'hoge';
タクソノミのnameがhoge、かつpost_typeがpostである記事のpost_idとpost_typeを一覧で取得する
SELECT wp_terms.term_id,wp_terms.name,wp_terms.slug,wp_term_taxonomy.term_taxonomy_id,wp_term_taxonomy.taxonomy, wp_term_relationships.object_id AS post_id, wp_posts.post_type FROM wp_terms JOIN wp_term_taxonomy ON wp_terms.term_id =
wp_term_taxonomy.term_id LEFT OUTER JOIN wp_term_relationships ON wp_term_taxonomy.term_taxonomy_id =
wp_term_relationships.term_taxonomy_id JOIN wp_posts ON
wp_term_relationships.object_id = wp_posts.ID WHERE wp_terms.name = 'hoge' AND wp_posts.post_type = 'post';
UPDATEの確認1(じっくり確認)
SELECT
wp_terms.term_id
,wp_terms.name
,wp_terms.slug
,wp_term_taxonomy.term_taxonomy_id
,wp_term_taxonomy.taxonomy
,wp_term_relationships.object_id AS post_id
,wp_posts.post_type
,'page' AS new_post_type
FROM wp_terms
JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id LEFT OUTER JOIN wp_term_relationships ON
wp_term_taxonomy.term_taxonomy_id =
wp_term_relationships.term_taxonomy_id
JOIN wp_posts ON wp_term_relationships.object_id = wp_posts.ID WHERE
wp_terms.name = 'hoge'
AND wp_posts.post_type = 'post'
;
UPDATEの確認2(UPDATE用確認)
SELECT
wp_term_relationships.object_id AS post_id
,wp_posts.post_type
,'page' AS new_post_type
FROM wp_terms
JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id LEFT OUTER JOIN wp_term_relationships ON
wp_term_taxonomy.term_taxonomy_id =
wp_term_relationships.term_taxonomy_id
JOIN wp_posts ON wp_term_relationships.object_id = wp_posts.ID WHERE
wp_terms.name = 'hoge'
AND wp_posts.post_type = 'post'
;
タクソノミのnameがhogeであるpost_typeがpostの記事のpost_typeをpageに変更する
UPDATE wp_posts SET
wp_posts.post_type = 'page'
WHERE ID IN(
SELECT
wp_term_relationships.object_id AS post_id
FROM wp_terms
JOIN wp_term_taxonomy ON wp_terms.term_id =
wp_term_taxonomy.term_id
LEFT OUTER JOIN wp_term_relationships ON
wp_term_taxonomy.term_taxonomy_id =
wp_term_relationships.term_taxonomy_id