Skip to content

kaburk/BcWpExport

Repository files navigation

BcWpExport plugin for baserCMS

BcWpExport は、baserCMS5 のコンテンツを WordPress 向け WXR(WordPress eXtended RSS)として書き出すプラグインです。 管理画面から出力対象を選んで実行すると、WordPress の「ツール → インポート」で読み込める WXR ファイルを生成・ダウンロードできます。

書き出せる対象

baserCMS 側 WXR / WordPress 側 備考
固定ページ page 親子関係・スラッグ・公開状態を可能な範囲で維持
ブログ記事 post 投稿日・更新日・本文・抜粋・スラッグ・著者を出力
ブログカテゴリー category 階層構造を維持
ブログタグ post_tag タクソノミーとして出力
投稿者 author WordPress 側での再割当を前提とした最小情報
本文内画像 post_content 内 URL URL が有効な環境での移行を前提

初版では対象外

  • メールフォーム
  • ウィジェットエリア
  • カスタムコンテンツ
  • コメント
  • 添付ファイル本体の同梱
  • SEO プラグイン固有設定

主な機能

  • 出力対象・フィルタ条件の指定(種別・公開状態・ブログ・著者・カテゴリー・日付範囲)
  • 固定ページ・ブログ記事の収集と WXR 組み立て
  • ページ親子関係・ブログカテゴリ親階層の反映
  • 本文・抜粋の CDATA 出力
  • wp:post_id / wp:post_parent の出力
  • 相対 URL を絶対 URL へ変換するオプション
  • アイキャッチ画像を attachment post_type として出力し _thumbnail_id postmeta を付与
  • 生成した WXR ファイルのダウンロード
  • ジョブ管理(過去のエクスポート履歴・ファイルを一定期間保持)
  • 履歴の個別削除・チェックボックスによる一括削除

フィルタ条件

条件 説明
出力対象 全件 / ブログ記事のみ / 固定ページのみ
公開状態 公開のみ / 非公開を含む / 下書きを含む
ブログ 取込元ブログを絞り込む(ブログ記事のみ対象)
カテゴリー 指定カテゴリーに属する記事のみ出力
著者 指定ユーザーが投稿した記事のみ出力
日付範囲 指定した期間内の記事のみ出力

出力オプション

オプション 説明
URL 変換 本文中のルート相対 URL(/path)を絶対 URL へ変換する
メディア URL 出力 アイキャッチ画像を attachment post_type として WXR に含める
サイトメタ情報 channel 要素へのサイト情報付与
XML 整形 インデント付き pretty print

管理画面

  • メニュー名: WordPressエクスポート
  • URL: /baser/admin/bc-wp-export/wp_exports/index

生成した WXR を WordPress へインポートする

本プラグインで生成した WXR ファイルは、WordPress 標準のインポート機能で読み込めます。

手順

  1. WXR をダウンロード — baserCMS 管理画面の「WordPressエクスポート」でエクスポートを実行し、完了後に表示されるダウンロードボタンから .xml ファイルを保存する
  2. WordPress にログイン — インポート先の WordPress 管理画面を開く
  3. WordPress Importer をインストールツール → インポート → WordPress を開き、「今すぐインストール」をクリックしてインポーターを有効化する(初回のみ)
  4. インポーターを起動 — 「インポーターの実行」をクリックする
  5. ファイルを選択してアップロード — 手順 1 でダウンロードした .xml ファイルを選択し「ファイルをアップロードしてインポート」をクリックする
  6. 著者の割り当て — インポート画面で、WordPress 側の既存ユーザーへの割り当てまたは新規作成を選択する
  7. インポート実行 — 「実行」をクリックしてインポートを開始する

注意事項

  • 画像などのメディアファイルはWXRに含まれず、URL参照のみになります。元サイトのURLが引き続き有効な場合は「添付ファイルをダウンロードしてインポートする」オプションで取込できます。
  • 本文中の内部リンクは baserCMS のURL体系のままになるため、必要に応じてWordPress側で一括置換してください。
  • 大量コンテンツの場合、WordPress Importer がタイムアウトすることがあります。その場合は WP All Import などの外部プラグインをお試しください。

動作環境

  • baserCMS 5.x
  • PHP 8.1 以上
  • CakePHP 5.x

インストール

  1. plugins/BcWpExport/ に本プラグインを配置する
  2. 管理画面の プラグイン管理 から「WordPressエクスポート」を有効化する

設定

config/setting.php で以下を変更できます。

キー 初期値 説明
BcWpExport.jobExpireDays 3 生成した WXR ファイルの保持日数
BcWpExport.batchSize 100 内部バッチ処理の単位件数

進捗・残件

docs/progress.md を参照してください。

ライセンス

MIT License. 詳細は LICENSE.txt を参照してください。

About

BcWpExport plugin for baserCMS

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors