Skip to content

Tested up to を 7.0 に更新 - #71

Open
mayukojpn wants to merge 1 commit into
masterfrom
enhancement/tested-up-to-7-0
Open

Tested up to を 7.0 に更新#71
mayukojpn wants to merge 1 commit into
masterfrom
enhancement/tested-up-to-7-0

Conversation

@mayukojpn

Copy link
Copy Markdown
Member

Closes #68

内容

README.mdTested up to6.8 から 7.0 に更新します。1行のみの変更です。

根拠

WordPress 7.0.2 / PHP 8.3.33 の環境(このリポジトリの .wp-env.json)で検証し、このプラグインに起因する問題は見つかりませんでした。検証の詳細は #68 のコメントに記載しています。

確認項目 結果
PHPUnit 2 tests / 8 assertions すべて通過
PHP 8.3 での構文チェック(全ファイル) エラーなし
非推奨関数の使用 0件(WordPress 本体の非推奨関数 242 個と照合)
debug.log(管理画面6画面 + フロント3ページ巡回後) 出力なし
主要機能(投稿タイプ・ポジション登録・描画・iframe・ウィジェット) 正常

補足

  • 現在このプラグインのページには「直近3メジャーリリースで未テスト」の警告が出ています。この変更で解消される想定です(WordPress.org は 7.0 をそのブランチの最新パッチに解決するため、7.0.2 と書く必要はありません)
  • 検証はコードの実行とページ取得によるもので、エディタ上の操作(メタボックスの保存、ウィジェットのドラッグ&ドロップ等)は確認範囲外です
  • 反映にはリリースの公開が必要です

Verified against WordPress 7.0.2 with no errors attributable to this
plugin. See #68 for the full results.
@mayukojpn

Copy link
Copy Markdown
Member Author

マージを少しお待ちください。 この PR の根拠にした検証に不足があることに、レビューしていて気づきました。

何が足りていないか

#68 に載せた検証は「WordPress 7.0.2 でエラーが出ないこと」の確認でした。構文チェック、非推奨関数の照合、管理画面とフロントを巡回しての debug.log 確認、いずれも問題なしでしたが、このプラグイン本来の機能が動くかどうかは確認していません

taf_render() を直接呼んで文字列が返ることは見ましたが、このプラグインの本来の使い方は「テーマに do_action( 'taro_ad_field', ... ) を書くと、その位置に広告が出力される」というものです。そこを一度も通していないので、「壊れていない」ことの確認にとどまり「使える」ことの確認になっていませんでした。

これから行うテスト

# 内容
1 taf_default_positions フィルタでポジションを定義し、タームが自動生成されるか
2 管理画面から広告を作成し、メタボックスでポジションを割り当てて保存できるか
3 テーマに do_action( 'taro_ad_field', ... ) を書き、フロントの該当位置に広告が出るか
4 $before / $after が適用され、広告が無いときは何も出力されないか
5 $number を指定して最新 N 件だけ出るか
6 ad-context による出し分け
7 iframe モードのポジションで iframe 表示になるか
8 ウィジェットをサイドバーに置いてフロントに出るか
9 予約投稿(未来日時)の広告が表示されないか

3〜5 が中心です。1・2 は前提、6〜9 は付随機能の確認になります。

結果はスクリーンショット付きでこの PR にコメントします。それまでマージはお待ちいただけますか。問題が見つかった場合は、この PR 自体を取り下げます。

@mayukojpn

Copy link
Copy Markdown
Member Author

機能テストの結果 — 全項目で期待どおりの動作を確認しました

WordPress 7.0.2 / PHP 8.3.33。テーマ統合は、このリポジトリが tests/src/Bootstrap.php に持っている検証用ハーネス(taf_default_positions でポジションを定義し、wp_head / wp_body_open / wp_footer / 本文直後で taf_render() を呼ぶ)をそのまま使いました。作者が想定している使われ方に沿った形です。

広告は post_date をずらして10件用意し、上限・並び順・出し分けを判定できるようにしています。

# 検証内容 期待 結果
1 taf_default_positions でポジション定義 5件のtermが自動生成 head after_content body_open in_footer iframe
2 管理画面での広告作成とポジション割り当て メタボックスで選択・保存できる
3 テーマのフックからフロントに出力 該当位置に広告が出る
4 $before / $after の適用 ラッパーが付く/広告が無ければ何も出ない taf-after-content ラッパーを確認
5 $number による件数制限と並び順 上限3・新しい順 AD-NEWEST-E AD-D AD-CA B は正しく除外)
6 ad-context による出し分け PCでは出ず、モバイルでのみ出る ✅ 下記
7 iframe モード iframe用URLが広告を返す ✅ HTTP 200・広告を含む
8 ウィジェット サイドバーに配置してフロントに出る
9 予約投稿(未来日時) 表示されない

6 のコンテキスト出し分けの詳細

同じページを User-Agent だけ変えて取得しました。

表示された body_open 広告
PC AD-C / AD-D / AD-NEWEST-E
iPhone AD-D / AD-NEWEST-E / AD-MOBILE-ONLY

Mobile Browser コンテキストのみを付けた広告が、モバイルのときだけ枠に入っています。

補足

  • 最初の試行でコンテキストの判定が不安定に見えましたが、原因は私のテストデータでした。広告を全て同一秒に作成したため post_date が同値になり、「最新N件」の選択が非決定的になっていました。日時をずらして作り直したところ、上の表のとおり毎回同じ結果になります。プラグイン側の問題ではありません。
  • tests/src/Bootstrap.phpautoload-dev 経由なので、composer install --no-dev で構築される本番には含まれません(wordpress.yml で確認)。検証時のみ有効な仕込みです。
  • エディタ上の操作(ブロックエディタでの保存、ウィジェットのドラッグ&ドロップ)は今回も範囲外です。管理画面はメタボックスの表示・保存済みの状態までの確認になります。

スクリーンショットは次のコメントに添付します。

@mayukojpn

mayukojpn commented Aug 4, 2026

Copy link
Copy Markdown
Member Author
image ① フロント(PC)— 上部に AD-NEWEST-E / AD-D / AD-C(最新3件)、本文直後に AD-AFTERCONTENT、ウィジェットに AD-FOOTER image ② フロント(iPhone)— AD-MOBILE-ONLY が表示される image ③ 管理画面の広告一覧 — Positions / Contexts 列と予約投稿の状態 image ④ 広告編集画面 — Positions・Contexts メタボックス(Body Open / Mobile Browser を選択) image ⑤ iframe モード — iframe用URLが広告を返す

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test with WordPress 7.0 and update "Tested up to"

1 participant