WP Manifestindependent plugin directory
manifest / content / external-rss-importer

External RSS Importer

WordPressの外部RSSフィードを定期取り込みし、投稿として登録するプラグインです。

by Portfolio Project · github.com/misotz/external-rss-importer · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/misotz/external-rss-importer/archive/refs/heads/master.zip

Readme

External RSS Importer

WordPressの外部RSSフィードを定期取り込みし、投稿として登録するプラグインです。

目的

複数の外部RSSを一元管理し、WordPress投稿への反映を自動化します。手動実行にも対応し、編集フローに合わせて下書き/公開を選択できます。

想定ユースケース

  • 業界ニュースを複数メディアから収集して下書き化したい
  • 抜粋と元記事リンク中心で、流入を元サイトへ誘導したい

主な機能

  • フィード登録/編集/削除(管理画面)
  • 取り込み設定
    • 投稿ステータス(下書き/公開)
    • 本文モード(全文/抜粋+元記事リンク)
    • 頻度(1時間/6時間/24時間)
    • 有効/無効
  • 手動の「今すぐ取り込み」
  • WP-Cronによる定期取り込み
  • GUIDによる重複スキップ
  • 取り込みログ(直近100件保持)

スクリーンショット

Feed form

Import logs

インストール

  1. このリポジトリを wp-content/plugins/external-rss-importer に配置
  2. WordPress管理画面で External RSS Importer を有効化
  3. 設定 > 外部RSS取り込み を開く

設定手順

  1. 設定 > 外部RSS取り込み でフィードを追加
  2. フィードURL、カテゴリ、投稿ステータス、本文モード、頻度を設定
  3. 必要に応じて「今すぐ取り込み」を実行
  4. 設定 > RSS取り込みログ で結果を確認

定期取り込みの動作

WP-Cron イベント eri_run_scheduled_imports を1時間ごとに発火させ、 実行のたびに有効なフィードを走査します。各フィードについて 「前回取得から頻度設定の時間が経過しているか」を判定し、対象となったものだけ取り込みます。

cron イベントは1件のみ登録され、フィードの追加・削除・頻度変更時にも 再スケジュールは発生しません。

WordPress の wp_cron はサイトへのアクセスをトリガーとする疑似 cron です。 アクセスが少ない環境では実行タイミングがずれることがあります。確実な定期実行が必要な場合は、 サーバーの crontab で wp-cron.php を呼び出し、wp-config.phpdefine('DISABLE_WP_CRON', true); を追記してください。

動作確認環境

  • Local by Flywheel + WordPress 7.0 + PHP 8.x
  • サポート対象: WordPress 5.x 以上、PHP 7.4 以上

仕様の主要ポイント

  • 重複判定キー: 記事GUID(_external_rss_guid
  • 投稿タイプ: post
  • カスタムフィールド:
    • _external_rss_source_url
    • _external_rss_source_feed
    • _external_rss_guid
  • ログ保持: 直近100件(古い履歴は自動削除)

制約事項

  • 対応WordPress: 5.x以上
  • 対応PHP: 7.4以上
  • RSS 2.0を対象(Atom非対応)
  • HTMLサニタイズは基本的な範囲のみ
  • 多言語翻訳は未提供(.pot のみ同梱)

関連ドキュメント

開発の動機

過去に外部メディアと連携した記事取り込みの仕組みを PHP でゼロから自作した経験が多数あります。 当時はスクラッチで書いていた処理が、現在の WordPress では fetch_feed()wp_cronwp_insert_post() といった標準 API を組み合わせて実現できます。 本プラグインは、その差分を確認しながら設計判断を整理することを目的に実装しました。 仕様と設計の意図は SPEC.md を参照してください。

ライセンス

GPLv2 or later(WordPress標準ライセンス)

Read the full README on GitHub →

Releases

TagPublished
v0.1.0 May 27, 2026

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.