Custom Permalinks 使用の場合のURL一覧ぶっこ抜き
WordPressで、既存記事URLを全部ぶっこ抜きたかったのだが、色々悩んだ。
結論としては、私の環境ではプラグイン「Custom Permalinks」を使っており、そのせいでDB構造(パーマリンクの格納方法)が通常と異なるようであった。
Custom Permalinks 使用時のパーマリンク
「Custom Permalinks」使用の場合、パーマリンク文字列はカスタムフィールドに格納されている。
テーブルとしては wp_postmeta である。このテーブルの中の meta_keyが 'custom_permalink'のレコードのmeta_valueを取得すればいい。
wp_postとjoinして抽出する場合、SQLとしては、例えば下記のようになる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
select A.ID , A.post_author , A.post_date , A.post_date_gmt , A.post_title , A.post_excerpt , A.post_status , A.comment_status , A.ping_status , A.post_password , A.post_name , A.to_ping , A.pinged , A.post_modified , A.post_modified_gmt , A.post_content_filtered , A.post_parent , A.guid , A.menu_order , A.post_type , A.post_mime_type , B.meta_value from wp_posts A left join wp_postmeta B on A.ID = B.post_id where post_status = 'publish' and B.meta_key = 'custom_permalink' ; |
通常構成の場合のパーマリンク
Custom Permalinks を使っていない場合、パーマリンクはwp_postsのpost_nameで表現されているはず。
以上!