WordPressのデータベースからタイトル、URL、本文を取得する

WordPressのデータベースからタイトル、URL、本文を取得する

WordPress のデータベースから投稿記事の「タイトル、URL、本文」を抜き出す方法です。
WordPress プラグインの JP Markdown と Classic Editor から Gutenberg への移行と記事をローカルで管理しようと考え、データベースから記事を全て取得する事にしました。

phpMyAdmin にログイン

バージョンによる差異はないかと思いますが、WordPress 5.3.2、PHP のバージョン 7.3.6、phpMyAdminのバージョン 4.9.0.1 の環境で作業をしました。

カラフルボックスのレンタルサーバーの場合は、cPanel にログインして、「データベース」カテゴリーにある phpMyAdmin をクリックしてログインします。

ログイン後に左のカラムにある WordPress のデータベース名を選択して、「SQL」タブをクリックすると以下のような画面に遷移します。
データベース名は、WordPress をインストールした際に決定したもので、wp-config.php の DB_NAME に記載されています。

phpMyAdminにログインする
phpMyAdminにログインする

データベース上でクエリを実行する

以下のコードを入力して、「実行」ボタンをクリックすると投稿記事一覧が表示されます。
/* 文字 */ の部分は、コメントアウトなので、そのままでも問題ありません。


SELECT
    /* 記事の公開日 */
    post_date,
    /* 記事のタイトル */
    post_title,
    /* 記事のスラッグ */
    post_name,
    /* 記事の本文 */
    post_content
FROM
    /* 投稿記事関連のデータが入ってるテーブル */
    wp_posts
WHERE
    /* 公開記事で投稿(post)、ページ(page)のもの */
    post_status = 'publish' AND post_type IN ('post', 'page')
ORDER BY
    /* 降順(新しい記事を最初に)で並べる。逆は ASC */
    post_date DESC
データーベース上でクエリを実行する
データーベース上でクエリを実行する

ざっくり説明すると以下のような構造になっています。


SELECT
    フィールド名
FROM
    テーブル名
WHERE
    条件を指定
ORDER BY
    表示順

wp_posts から取得できるその他のフィールドは、データベース構造 - WordPress Codex 日本語版 の「3.6 テーブル: wp_posts」で確認できます。

結果をエクスポート(ダウンロード)する

実行するとクエリの結果が表示されるので、表示されているページの一番最後にスクロールして、「クエリ結果操作」にある エクスポート をクリックします。

クエリ結果操作にあるエクスポートをクリック
クエリ結果操作にあるエクスポートをクリック

エクスポートをクリック後に遷移先で、エクスポート方法やフォーマットを選択して「実行」ボタンをクリックすればファイルをダウンロードすることができます。設定項目は色々とありますがフォーマット以外は特に変更する必要は無いかと思います。

エクスポートできるフォーマットは、以下の種類があります。

  • CodeGen
  • CSV
  • CSV for MS Excel
  • JSON
  • LaTeX
  • MediaWiki Table
  • Microsoft Word 2000
  • OpenDocument Spreadsheet
  • OpenDocument Text
  • PDF
  • PHP array
  • SQL
  • Texy! text
  • XML
  • YAML

以上で、WordPress のデータベースから投稿記事の「タイトル、URL、本文」を抜き出す作業は終了です。

CSV を Mac の表計算ソフト Numbers で開くと本文に改行が入ってしまうので、Numbers で管理する場合は、CSV for MS Excel のフォーマットをお勧めします。

コメントをどうぞ

コメントは確認後に反映されます。
コメント内容、名前(ニックネーム可)、メールアドレスの項目は必須となります。メールアドレスは公開されません。