vektor-inc / vk-all-in-one-expansion-unit

wordpress plugin of powerful support
https://ja.wordpress.org/plugins/vk-all-in-one-expansion-unit/
GNU General Public License v2.0
7 stars 1 forks source link

【確認待ち】[ 投稿タイプマネージャー ] 投稿タイプの設定を保存した時に自動的にパーマリンク保存 #1021

Closed drill-lancer closed 1 year ago

drill-lancer commented 1 year ago

チケットへのリンク / 変更の理由(元のissueがあればリンクを貼り付ければOK)

https://github.com/vektor-inc/vektor-wp-libraries/issues/124

どういう変更をしたか?

実装者はレビュワーに回す前に以下の事を確認してチェックをつけてください。

ソースコードについて

デザイン・UI

プログラムの変更の場合

テストを書かないのは普通ではありません。書けるテストは極力書くようにしてください。 書いていない場合は書かない理由を記載してください。

その他

変更内容について何を確認したか、どういう方法で確認をしたかなど

  1. カスタム投稿タイプ作成
  2. パーマリンクを更新せずに1️⃣の投稿タイプで投稿を作成
  3. 2️⃣の記事が表示されるのを確認

確認URL

ローカル環境

レビュワーの確認方法・確認する内容など

  1. カスタム投稿タイプ作成
  2. パーマリンクを更新せずに1️⃣の投稿タイプで投稿を作成
  3. 2️⃣の記事が表示されるのを確認

レビュワーに回す前の確認事項


レビュワー向け

確認して変更が反映されていない場合の確認事項

kurudrive commented 1 year ago

@drill-lancer ありがとうございます。 一番最初に発行した時にはまだパーマリンクが書き換わらないようなのですが、 投稿タイプの設定を保存し終わったタイミングでパーマリンクを上書きってできませんかね(・w・?

https://github.com/vektor-inc/vk-all-in-one-expansion-unit/assets/3272660/eea4fca3-98fb-42db-9eb4-a5c38e7a9915

あと、これがうまくいったら↓は不要なので削除したいです。

スクリーンショット 2023-10-08 19 46 26

kurudrive commented 1 year ago

※ | ̄ ̄ ̄ ̄──── ̄ ̄ ̄ ̄) 10/10以降の対応で結構です

drill-lancer commented 1 year ago

@kurudrive パーマリンクを更新するのは flush_rewrite_rules が有効のようですが どうやら register_post_type が発動するタイミングでないと flush_rewrite_rules を発動する意味はなさそうです。 ただそのタイミングで発動すると毎回発動することになるのでそこで新たな不具合の火種になりそうです。 発動済みか否かのオプション値を設けて制御する方法を考えています。

https://elearn.jp/wpman/function/flush_rewrite_rules.html https://torounit.com/blog/2015/09/02/2077/

kurudrive commented 1 year ago

保存が完了した時の save option 関連のアクションフック ってなかったっけ? あれば、この投稿タイプの保存だった場合に、保存完了時に走らせればいけるかなと思ってました。 なんとなくそう思ってただけで調べてません...。

drill-lancer commented 1 year ago

@kurudrive 動画を見ていると

①最初にカスタム投稿タイプを保存したときには register_post_type が走っていないので以前のパーマリンクがそのまま保存される ②次に保存したときには register_post_type が走った後なのでパーマリンクが更新された

というように見受けられるので register_post_type が走った後でないと無理だと思います。

drill-lancer commented 1 year ago

@kurudrive カスタム投稿マネージャーの add_post_type 内の register_post_type が走ったときに 一度も flush_rewrite_rules が走っていなければ走らせるようにしました。 判定にはその投稿のカスタムフィールドを使用しています。

kurudrive commented 1 year ago

@drill-lancer 広告アラートの変更とコンフリクトしたっぽいので新しい方でコミットしてくださいーん。

drill-lancer commented 1 year ago

@kurudrive 競合解消しました。

kurudrive commented 1 year ago

@drill-lancer ばっちりです!ありがとうございます!