親カテゴリ、子カテゴリを追加した際に過去分の投稿もまとめて親カテゴリにチェックを入れるSQLコマンド
子カテゴリーチェックで親カテゴリーにも自動的にチェックを入れるプラグイン(Parent Category Toggler)は追加時からなので、過去の投稿の親カテゴリには手動でしかチェックを入れられないが、後から親カテゴリ、子カテゴリーを設定した場合に過去分にさかのぼって親カテゴリにチェックを入れるSQLこまんど
INSERT INTO wp_term_relationships
SELECT object_id, term_taxonomy_id, 0 AS term_order
FROM (
SELECT DISTINCT r.object_id, p.term_taxonomy_id
FROM wp_term_relationships AS r
INNER JOIN wp_term_taxonomy AS t ON r.term_taxonomy_id = t.term_taxonomy_id
INNER JOIN wp_term_taxonomy AS p ON t.parent = p.term_id
WHERE t.taxonomy = 'category'
AND t.parent > 0 ) AS a
WHERE NOT EXISTS
(SELECT 'x'
FROM wp_term_relationships AS b
WHERE a.object_id = b.object_id
AND a.term_taxonomy_id = b.term_taxonomy_id)
;
Comment