超決め打ち。
nginxのキャッシュ問題は、プラグインで対応。
プラグイン作成はあんまし得意ではないので、自環境でまともに動けばよしとします。
add_action('edit_post', 'hage');
に、
`rm -rf /var/cache/nginx/proxy_cache1/*` /* 俺環決め打ち */
を仕込んで、投稿更新時にサイト全体のキャッシュを消し去ることにしました。
/var/cache/nginx/以下はwww-data(俺環)の所有なので、phpから普通に消せます。
更新されたページ関連のキャッシュだけを選択して消すのが正しいんでしょうが、会社のサイトは新刊情報で、コメントの類いもないので更新の頻度も低く、キャッシュを全部消しても影響は一時的なもので済みます。
nginxのcache purgeモジュールのアクセス制限問題からも逃げられるし、通常のaptで更新できるし、俺環にはちょうどいいかも。
wordpressのedit_postフックはコメント投稿も対象なので、コメントをポストしてもキャッシュが消えます。
しばらくここで試してみよう。
追加メモ。
会社のサーバに仕込む時に忘れてはいけないこと。
- 日付で変わる表示があるので、毎日00:00にキャッシュをクリアするcronを仕込むこと。
- だから、キャッシュの有効期限は1dでいい。
- キャッシュクリア後に403が出ることがあるので、今日の設定のまま使わないこと