WordPress から Grav への引っ越し
要件
- PHP v7.1 以上 (composer の依存関係のため)
- その WordPress がホストされている環境に WP-CLI がインストールされている
- エクスポート元の WordPress サイトが機能している
- WordPress サイトの
wp-content/uploadsに読み/書きアクセスができる - Grav がホストされる環境に Composer がインストールされている
インストール
- 最新リリースの wp2grav_exporter プラグインをダウンロードし、 WordPress の
wp-content/pluginsディレクトリにアップロードしてください。 wp2grav_exporterディレクトリ内で、依存関係のインストールのため、composer install --no-devを実行してください。- 新しいプラグインを有効にしてください:
- wp-cli を使う:
wp plugin activate wp2grav_exporterか、 GUI の管理パネルから有効化
- wp-cli を使う:
- すべてのアイテムをエクスポートするため、
wp wp2grav-allを実行してください。その他のオプションについては、以下を参照してください。 - エクスポートされたファイルは、
WP_ROOT/wp-content/uploads/wp2grav-exports/DATEに置かれます。 - Grav v1.6 サイトに対しては、ユーザーを表示し、管理するために admin-addon-user-manager を推奨します。 Grav 1.7 以上のサイトには不要です。
注意点
wp wp2grav-allを実行すると、以下のエクスポートの各手順を、一度に実行することになります。エクスポートの実行後、後述の各セクションに従って、インストールされている Grav に、データをインポートしてください。
WordPress からユーザーのエクスポート

左にある WordPress ユーザー一覧を、右の Grav にエクスポートしました。
コマンド
wp wp2grav-users により、 Grav のユーザーアカウントファイルが生成されます。
結果
- ユーザーアカウントは、
EXPORT/accounts/下のエクスポートディレクトリにあります。- ユーザーネームは、 3文字以上16文字以下になります。
- もしユーザーネームが短縮されたり調整された場合、衝突を避けるため、ユーザーネームに、 WordPress の uid も付与されます。
- 各アカウントのパスワードはランダムに生成され、対応する WordPress アカウントとは関係ありません。アカウントが初回に認証を行うと、平文のパスワードは自動でハッシュ化されたパスワードに変換されます。
Grav へのユーザーのインポート
EXPORT/accounts ディレクトリを、 user ディレクトリにコピーしてください(たとえば: username.yaml ファイルは、 user/accounts ディレクトリ内に置かれるべきです)。
WordPress からユーザーロールのエクスポート

左の WordPress のロール付きユーザーを、右の Grav グループにエクスポートしました。
コマンド
wp wp2grav-roles により、 Grav の groups.yaml ファイルを生成します。
結果
WordPress ユーザーロールは、 config/groups.yaml にある groups.yaml ファイルの Grav グループとしてエクスポートされます。
ロールのエクスポートには、いくつかの注意点があります:
- 各 WordPress ロールは、 Grav の
wp_<アンダースコア付きロール>グループに変換されます(例:subscriberの場合、wp_subscriberになります)。 - WordPress 管理者ユーザーロールは、
wp_administratorグループを受け取ります。 wp_administratorグループは、admin.loginアクセスとともにadmin.superアクセスを受け取ります。これらのパーミッションを持つアカウントは、 Grav サイトのすべての管理権限を持ちます!wp_authenticated_userグループと呼ばれる新しい Grav グループは、admin.loginアクセスを受け取ります。- すべてのアカウントは、
wp_authenticated_userグループを受け取ります。
ユーザーロールのインポート
EXPORT/config ディレクトリを、 users/config にコピーしてください。
WordPress から投稿タイプのエクスポート

WordPress の投稿タイプ(post type)は、(上記画像で黄色く強調しているような) “WP” 付きの Grav ページタイプに変換されます。
コマンド
wp wp2grav-post-typesにより、 WordPress 投稿タイプに対応したページタイプとともに、基本的な Grav プラグインを生成します。
結果
- Grav プラグインは、管理パネルツール内で、基本的なフィールド機能を表示するものとして生成されます。
Gravへの投稿タイプのインポート
EXPORT/pluginsディレクトリをuserディレクトリにコピーしてください。- Grav の
user/plugins/wordpress-exporter-helperプラグインディレクトリに移動し、composer installを実行してください。
WordPress から投稿のエクスポート

左にある WordPress の管理パネルの “Sample Page” を、右の Grav のマークダウンにエクスポートします。

左にある WordPress の管理パネルの “Sample Page” をエクスポートし、右のように Gravu によるレンダリング表示します。
コマンド
wp wp2grav-postsにより、すべての投稿をエクスポートします。
結果
- 各 投稿/固定ページ は、たとえば各タイトルのようなメタデータに対応したディレクトリにエクスポートされます。
- ライブラリメディアは、
data/wp-contentにコピーされ、インラインコンテンツは、(最終的に)そのページのディレクトリ内に含まれます。
Gravへの投稿のインポート
EXPORT/pagesディレクトリをuserディレクトリにコピーしてください。EXPORT/dataディレクトリをuserディレクトリにコピーしてください。
WordPress からサイトのメタデータのエクスポート

左の WordPress 管理パネルに表示される一般設定を、右の Grav サイトの config 設定にエクスポートします。
コマンド
wp wp2grav-siteにより、サイトのメタデータがエクスポートされます。
結果
- Grav サイトのメタデータは、
EXPORT/config/site.yamlに保存されます。
Grav へのサイトのメタデータのインポート
EXPORT/config/site.yamlを、user/config/site.yamlにコピーしてください。