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
に記載されています。
データベース上でクエリを実行する
以下のコードを入力して、「実行」ボタンをクリックすると投稿記事一覧が表示されます。
※ /* 文字 */
の部分は、コメントアウトなので、そのままでも問題ありません。
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
- PHP array
- SQL
- Texy! text
- XML
- YAML
以上で、WordPress のデータベースから投稿記事の「タイトル、URL、本文」を抜き出す作業は終了です。
CSV を Mac の表計算ソフト Numbers で開くと本文に改行が入ってしまうので、Numbers で管理する場合は、CSV for MS Excel のフォーマットをお勧めします。