ども、Qtaro(@Daisuke_9taro)です。
今日はちょっとマニアックなネタです
(じゃぁなぜソレを記事にするとかはナシで。。)
タイトルの通りなんですが、WordPressの全記事データを何らかの理由で必要なデータのみCSVで抽出して、一覧で見たい!もしくはデータを抽出して書類を作成したい!なんてときに使える方法を説明します。
僕は割と良く使うんですが、WordPressを普通に使う分にはそんな意識しなくていいデータベースを直接操作しにいくので、慣れない方はちょっと抵抗あるかもしれません。
ですが、実際は数分の画面操作で完結するのでそんな難しくないです。
どんなことするかというと。。
WordPressの標準機能でついているエクスポート機能で出てくるこんなものじゃなくて。。
こんな感じのもの作るのがゴールです♪
気になる方は続きをどうぞ♪
タイトルにも書きましたがこの操作はブログのデータベースを直接操作しにいきます。「phpMyAdmin」や「データベース操作」と言われて「??」となる方はブログの大事なデータを誤って削除してしまう可能性があるので、作業はご遠慮いただくか、必ずバックアップを取った上で実施ください。
phpMyAdminからwp_postsテーブルを操作
書き起こすと複雑そうですが、やってることは
「CSVで出力したい項目(条件)を指定して、出力」
するだけ。
まずはレンタルサーバー会社毎の管理画面等からWordPressで利用しているデータベースを操作しにいくためにphpMyAdminにログインします。
(不慣れな方が誤った操作をしないために、敢えてログイン手順の説明は省きます。。)
運営しているブログで使用しているデータベース(DB)を選択し、次に「wp_posts」を選択。これは記事データが格納されているテーブル(データが格納されているトコ)です。
そして更に「検索」をクリック。
抽出したい項目(フィールド)を選択
すると検索条件指定画面になります。
下記の例は公開済みの全記事の「公開日」「記事タイトル」「抜粋文」のデータを取得するための条件設定になります。
項目を増やしたり、入れ替えたりはもちろん可能なので、欲しい情報が別にある方はそのフィールドを選択するようにしていください。
図では「post_date_gmt」というのを選択してますが、これは選択しなくて良いです。(定義書見てないので何の日時か分かりませんw)
不要なデータは「ハジく」ように条件指定
更に下の方の条件を以下のように2カ所、指定することをオススメします。
post_statusは記事の「公開」「非公開」を格納しているフィールドで、「publish」を指定することで「公開済み」のもののみ抽出するための記述
post_typeはその記事が実際使われてるものなのか、リビジョンデータなのかを値として格納しているフィールドです。リビジョンも取得すると同じタイトルの記事がいくつも取得されてしまうのでここはリビジョンデータを抜かすために「post」を指定します。
条件指定が終わったら、検索実行!!
記事量にもよりますが、数秒すると条件指定した結果(CSVで出力する対象データ)が表示されます。
CSV出力実施
確認し、問題なければ画面下の「エクスポート」を押します。
するとファイル出力の設定画面に移るので、「CSV」を選択。
あと僕は特に変えませんが、どういったCSVデータにしたいか細かい要望があれば、右側の部分をお好みでどうぞ♪
CSVの出力設定も終わったら、実行!!
エクスポートが開始されます(これも数秒)
出力されたCSVをエディタ等で保存
で、結果が出力されました!!
どのphpMyAdminのバージョンでもこういう形で出力されるかは分からないのですが、僕の場合はファイルで作成されるのではなく、phpMyAdminのテキストエリア内に出力されました。
あとはもう好きなエディタなり、エクセルなりにCSV形式で保存するだけです。
簡単ですね!
はい、こんな感じで作業は完了です!!
まぁこんな使い方も。。w
。。で
僕は「紙」が好きなので、プリントアウトしちゃったりします(え
システム触ってると紙の偉大さに気付くんですよねぇ。。
これは余興です、どうぞ気にせずw
まとめ:慣れるとデータベース操作も便利。この機会にゼヒ♪
という訳で、データベースを操作して、記事データの欲しい情報のみをCSVで抜き取る方法を説明させていただきました。
なんで、これを書こうかと思ったかというと、このブログも先月100記事を超え、そろそろ公開から時間が経ったネタもでてきたなーというところで、その100数記事をバーッと!!一目で見れて確認できる状態にしたかったんですよね。ただそれだけですw
あ、あとは一回調査したテーブル定義を覚えておける気がしないから書き残しておきたいってのもありますw
このくらいのデータベース操作を覚えておくと、ブログ内の欲しいデータはサクッとドキュメント化できますし、SQL(エスキューエル:データベースを操作するための言語)と言われても「?」になる方でも、phpMyAdminなら比較的直感的に操作できるので便利だと思いますよ。
冒頭でも書きましたが、くれぐれもバックアップを実施した上で、細心の注意を払って実施の程よろしくお願いします。
今回の記事は以上です。
本日もroom9にお越し頂きありがとうございました。
それでは良きデータベース操作ライフを〜♪♪