=== YBP Schedule Rewrite ===
Contributors: HISCO, YBP
Donate link: https://your-best-partner.site/
Tags: rewrite, schedule, post update, meta description, classic editor
Requires at least: 5.8
Tested up to: 7.0.2
Requires PHP: 7.4
Requires Plugins: classic-editor
Stable tag: 1.3.10
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

クラシックエディタ専用。公開済み記事のタイトル、本文、抜粋、アイキャッチ画像、SEOメタディスクリプションの予約更新・リライトを実行します。

== 説明 ==

YBP Schedule Rewrite は、既存の公開済み記事に対する自動リライト・予約更新を安全かつスムーズに行うためのWordPressプラグインです。

**※本プラグインは「クラシックエディタ（Classic Editor）」環境専用です。**

ステージング環境や複雑な差し替えプラグインを使わずに、クラシックエディタ投稿編集画面の専用メタボックスから将来のリライト用データ（タイトル、本文、抜粋、アイキャッチ、メタディスクリプション）を入力し、指定日時（WP-Cron）に自動で本番上書き実行させることができます。

= 主な機能 =

* **クラシックエディタ専用設計**: Classic Editor プラグイン利用環境に完全最適化。
* **記事の予約リライト実行**: 未来の日時を指定して、公開済み記事の内容を自動で最新化。
* **項目ごとの個別保護**: 入力があった項目のみを更新し、空欄の項目は本番データを安全に保護。
* **SEOメタディスクリプション連動**: SYNテーマ（`_synx_meta_desc`）をはじめ、主要テーマやSEOプラグインのメタディスクリプションを自動更新。
* **未入力時の自動適用切替**: 専用欄が空欄の際、「抜粋」の文章を自動流用するか、既存のメタディスクリプションを保護するかを管理画面で切り替え可能。
* **抜粋からコピーボタン**: 厳格モード（自動適用OFF）時、ワンクリックで抜粋テキストをメタディスクリプション欄へ転記可能。
* **初回公開日の最新化オプション**: 圏外リセットや旧記事のリフレッシュ用に、初回公開日（`post_date`）も同時に最新化する機能を搭載。
* **柔軟なソート制御**: 管理画面投稿一覧にてリライト予約と新規予約投稿を時系列順に並べるオプション、およびフロント表示を更新日順にするオプションを搭載。
* **最終更新日カラム自動常時追加**: テーマ側に更新日表示カラムが存在しない場合、管理画面投稿一覧へ「最終更新日」カラムを自動追記。

= 各テーマ・SEOプラグインのメタディスクリプションキー例 =

「設定 ＞ YBP Auto Rewrite」で入力するカスタムフィールド名の代表例です：

* **SYN**: `_synx_meta_desc`
* **SWELL**: `swell_meta_description`
* **SANGO**: `sango_meta_description`
* **Cocoon**: `the_page_meta_description`
* **AFFINGER**: `st_description`
* **JIN / JIN:R**: `jin_seo_description`
* **THE THOR**: `thor_meta_description`
* **All in One SEO**: `_aioseo_description`
* **Yoast SEO**: `_yoast_wpseo_metadesc`
* **Rank Math**: `rank_math_description`
* **SEOPress**: `_seopress_titles_desc`

== インストール手順 ==

1. **Classic Editor** プラグインが有効化されていることを確認します。
2. `ybp-auto-rewrite` ディレクトリを `/wp-content/plugins/` 配下にアップロードします。
3. WordPress管理画面の「プラグイン」メニューから有効化します。
4. 「設定 ＞ YBP Auto Rewrite」へ移動し、使用しているテーマ・SEOプラグインのカスタムフィールド名を設定します。

== よくある質問 ==

= ブロックエディタ（Gutenberg）で動作しますか？ =

いいえ。本プラグインはクラシックエディタ環境専用となっております。

= リライト予約を保存すると、すぐに本番記事が書き換わってしまいますか？ =

いいえ。入力されたリライトデータは一時データとして安全に保持され、指定した予約日時が到来した瞬間にのみ本番上書きが実行されます。

= リライト欄の一部を空欄にして保存した場合はどうなりますか？ =

空欄の項目によって本番データが消去されることはありません。未入力の項目は既存の本番記事データがそのまま保護・維持されます。

== 変更履歴 ==

= 1.3.10 =
* 管理画面の投稿一覧で、リライト予約と新規予約投稿が同一の時系列上に正しく並ぶようソート処理を修正。
* 新規予約投稿は公開予定日時（`post_date`）、リライト予約記事はリライト予約日時、通常の公開済み記事は設定に応じて最終更新日時または投稿日を基準に並ぶよう修正。
* 実際にはリライト予約されていない下書きや公開済み記事にも「リライト予約済み」が表示される問題を修正。

= 1.3.6 =
* 管理画面「予約済み」タブ表示時、プラグインの設定（更新日順）に関わらず、新規予約投稿（post_date）およびリライト予約が正確な公開予定日時順に並ぶようクエリ制御を修正。

= 1.3.5 =
* テーマ側に最終更新日表示機能がない環境向けに、管理画面投稿一覧へ「最終更新日」カラムを自動追記する機能を追加。

= 1.3.4 =
* スケジュールソート時、予約のない記事のフォールバック対象を「最終更新日（post_modified）」へ変更。

= 1.3.3 =
* 管理画面投稿一覧の「リライト予約日時」表示においてタイムゾーン計算の不備を修正。
* フロント表示時の未定義変数警告を修正。

= 1.3.2 =
* メンテナンス更新。

= 1.3.1 =
* 管理画面投稿一覧の「リライト予約日時」表示フォーマットを一般設定に準拠。

= 1.3.0 =
* 管理画面投稿一覧の標準「日付」カラム内に「リライト予約」日時を下段表示。

= 1.2.1 =
* 管理画面「予約済み」タブの表示条件を修正。

= 1.2.0 =
* タイトル横へのステータス割込表示を追加。

= 1.1.0 =
* 管理画面およびフロントのソートオプションを追加。

= 1.0.0 =
* 正式初版リリース。