WordPressのカテゴリーとタブ確認用のSQLスクリプト

●イベント出展情報
五反田TOCスピフェスさんに出展します。
2019年01月20日(日)13時~18時30分
〒141-0031東京都品川区西五反田7-22-17 TOCビルB1F B2・B3会議室
新メニュー「雑談10分 無料」もあります。良かったらお話しましょう!

ALOHA!
今日も、みなさんが笑顔になれますように。

今日はITのお話です。
このBlogはWordpressを使ってます(アメブロも使っていますが)。
うちの環境では、Windows Server上でIISとPHPを動かしています。
ブログをはじめて、それなりに月日が立ちました。
こうして続けることができるのも、読んでくださるみなさんのお陰です。
本当にありがとうございます。感謝です。

このBlogを、もう少し読みやすくしたり、セッションを依頼されるお客様がわかりやすいようにしたいと常々思っております。
また、今後は、せっかく持っている自分のスキルを生かして、ヒーラー様やカウンセラー様などライトワーカー様向けのわかりやすいIT系のサービスも充足させていきたいと思っております。(もちろん、別業種の事業主様や企業様も対応します。)

最近、ブログの記事を書いていて、はじめた頃はぼやけていたり曖昧だったことの輪郭がはっきりすることを感じていたりします。
Wordpressやアメブロに限らず、ブログにはカテゴリーやタグの機能があります。
簡単に言うと、分類を行ったり、キーワードを紐付けるための機能です。
カテゴリーとタグの違いですが、ブログの記事を「物」に例えると、カテゴリーは「引き出し」、タグがものにつける「検索できるラベル」です。
カテゴリーは、一つしか選べないですが、タグはいくつでもつけられます。
両方を上手に使うと、関連する記事を検索したり、読むことが出来ます。

ということで、記事を書いていて、カテゴリーの整理をしたくなりました。
手作業で行うことも出来ますが、記事が多いと作業も多くなるので効率的に行おうと思いました。
Wordpressの記事のデータや設定データなどは、MySQLというデータベースに格納されています。MySQLはSQL文というコマンドで操作をすることができます。
ということで、SQL文を書いてみました。
Wordpressはカテゴリーやタグの情報と記事の情報や関連付けの情報など複数のテーブルにまたがっています。それを紐づけて見られるようにしました。

※SQL文ですが、ある程度の知識をお持ちの方を対象に書きました。
このSQL文を操作するためにはMySQLのコンソールやWP-DBManagerのようなDBを直接操作できるプラグインや、phpMyAdminなどのツールが必要になります。
また、SQLコマンドは使い方を誤ると、データを消してしまったり、思わぬ結果になります。

カテゴリー表示


select * from (SELECT wp_term_taxonomy.term_id,wp_terms.name, wp_term_taxonomy.taxonomy  FROM wp_term_taxonomy inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id where wp_term_taxonomy.taxonomy in('category')) AS select_category;

タグ表示


select * from (SELECT wp_term_taxonomy.term_id,wp_terms.name, wp_term_taxonomy.taxonomy  FROM wp_term_taxonomy inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id where wp_term_taxonomy.taxonomy in('post_tag')) AS select_post_tag;

postとカテゴリ・タグ関連付け表示:記事の投函順でソート(表示が遅いです)


SELECT wp_posts.ID,select_taxonomy.term_id, select_taxonomy.name, select_taxonomy.taxonomy, wp_posts.post_content, wp_posts.post_title FROM wp_term_relationships inner join (SELECT wp_term_taxonomy.term_id,wp_terms.name, wp_term_taxonomy.taxonomy  FROM wp_term_taxonomy inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id) AS select_taxonomy on wp_term_relationships.term_taxonomy_id = select_taxonomy.term_id inner join wp_posts on wp_term_relationships.object_id = wp_posts.ID WHERE taxonomy in ('category', 'post_tag') ORDER BY wp_posts.ID, taxonomy;

postとカテゴリ・タグ関連付け表示:ソートなし


SELECT wp_posts.ID,select_taxonomy.term_id, select_taxonomy.name, select_taxonomy.taxonomy, wp_posts.post_content, wp_posts.post_title FROM wp_term_relationships inner join (SELECT wp_term_taxonomy.term_id,wp_terms.name, wp_term_taxonomy.taxonomy  FROM wp_term_taxonomy inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id) AS select_taxonomy on wp_term_relationships.term_taxonomy_id = select_taxonomy.term_id inner join wp_posts on wp_term_relationships.object_id = wp_posts.ID WHERE taxonomy in ('category', 'post_tag');

特定のカテゴリーを含むもの
[カテゴリー名]に使用しているタグ名を入れてください


select select_posts.*  from (SELECT wp_posts.ID,select_taxonomy.term_id, select_taxonomy.name, select_taxonomy.taxonomy, wp_posts.post_content, wp_posts.post_title   FROM wp_term_relationships inner join (SELECT wp_term_taxonomy.term_id,wp_terms.name, wp_term_taxonomy.taxonomy  FROM wp_term_taxonomy inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id) AS select_taxonomy on wp_term_relationships.term_taxonomy_id = select_taxonomy.term_id inner join wp_posts on wp_term_relationships.object_id = wp_posts.ID) AS select_posts inner join 
(SELECT wp_posts.ID,select_taxonomy.term_id, select_taxonomy.name, select_taxonomy.taxonomy, wp_posts.post_content, wp_posts.post_title   FROM wp_term_relationships inner join (SELECT wp_term_taxonomy.term_id,wp_terms.name, wp_term_taxonomy.taxonomy  FROM wp_term_taxonomy inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id) AS select_taxonomy on wp_term_relationships.term_taxonomy_id = select_taxonomy.term_id inner join wp_posts on wp_term_relationships.object_id = wp_posts.ID where taxonomy = 'category' and name = '[カテゴリー名]') As select_post_tag on select_posts.ID = select_post_tag.ID ORDER BY ID, taxonomy;

特定のタグを含むもの
[タグ名」に使用しているタグ名を入れてください


select select_posts.*  from (SELECT wp_posts.ID,select_taxonomy.term_id, select_taxonomy.name, select_taxonomy.taxonomy, wp_posts.post_content, wp_posts.post_title   FROM wp_term_relationships inner join (SELECT wp_term_taxonomy.term_id,wp_terms.name, wp_term_taxonomy.taxonomy  FROM wp_term_taxonomy inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id) AS select_taxonomy on wp_term_relationships.term_taxonomy_id = select_taxonomy.term_id inner join wp_posts on wp_term_relationships.object_id = wp_posts.ID) AS select_posts inner join 
(SELECT wp_posts.ID,select_taxonomy.term_id, select_taxonomy.name, select_taxonomy.taxonomy, wp_posts.post_content, wp_posts.post_title   FROM wp_term_relationships inner join (SELECT wp_term_taxonomy.term_id,wp_terms.name, wp_term_taxonomy.taxonomy  FROM wp_term_taxonomy inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id) AS select_taxonomy on wp_term_relationships.term_taxonomy_id = select_taxonomy.term_id inner join wp_posts on wp_term_relationships.object_id = wp_posts.ID where taxonomy = 'post_tag' and name = '[タグ名]') As select_post_tag on select_posts.ID = select_post_tag.ID;

特定のカテゴリーとタグを含むもの
[タグ名」に使用しているタグ名を入れてください


select select_posts.ID, select_posts.name, select_posts.post_content, select_posts.post_title, select_posts.term_id, select_post_tag.name as select_post_tag_name, select_post_tag.taxonomy as select_post_tag_taxonomy  from (SELECT wp_posts.ID,select_taxonomy.term_id, select_taxonomy.name, select_taxonomy.taxonomy, wp_posts.post_content, wp_posts.post_title   FROM wp_term_relationships inner join (SELECT wp_term_taxonomy.term_id,wp_terms.name, wp_term_taxonomy.taxonomy  FROM wp_term_taxonomy inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id) AS select_taxonomy on wp_term_relationships.term_taxonomy_id = select_taxonomy.term_id inner join wp_posts on wp_term_relationships.object_id = wp_posts.ID) AS select_posts inner join (SELECT wp_posts.ID,select_taxonomy.term_id, select_taxonomy.name, select_taxonomy.taxonomy, wp_posts.post_content, wp_posts.post_title   FROM wp_term_relationships inner join (SELECT wp_term_taxonomy.term_id,wp_terms.name, wp_term_taxonomy.taxonomy  FROM wp_term_taxonomy inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id) AS select_taxonomy on wp_term_relationships.term_taxonomy_id = select_taxonomy.term_id inner join wp_posts on wp_term_relationships.object_id = wp_posts.ID where taxonomy = 'post_tag' and name = '[タグ名]') As select_post_tag on select_posts.ID = select_post_tag.ID where select_posts.name = '[カテゴリー名]';

更新用のSQL文は次回です。

mahalo
最後まで読んでくださってありがとうございます。

僕は人の感情や意識を感じ取るエンパス(共感能力)です。
スピリチュアルリーディングとカウンセリングを組み合わせたセッションを行ってます。恋愛や自分自身のこと仕事や家族のお話が多いです。お話をきくだけでも大丈夫です。
セッションは、10分1,500円です。対面でもLINEやSkypeや電話でも行っています。電話やLINEのセッションが多いですね。詳しくはこちらのページです。

LINE@です。気軽に登録してください!
友だち追加
時々、いろんな情報を流していきます。(割引クーポンもあるかも)