私はクライアントのための大きなサイトを持っています、そしてそれは機能上の多くの拡張機能を備えた本当にカスタマイズされたwordpressインストールであるので、私はキャッシングプラグインを使うことができません。
パフォーマンスを向上させるために、トランジェントを使用して多くのサイトを構築し(たとえば、ナビゲーション、すべてのマーカーを含むGoogleマップなど)、動的コンテンツを動的なままにします。
ここでの問題は、私が何かを変更した場合、現在の結果を見るために手動で特定のトランジェントを削除しなければならないことです。このサイトでは、異なるチャンネルから入力したときに異なるメニューやグーグルマップが表示されるので、各エリアに10回のトランジェントが必要です。
あなたは私が(トランジェントの名前のリストを使って)それらを一度に全部削除するような機能を作成しますか、それともただサイト上のすべてのトランジェントを削除しても大丈夫ですか?
それほど緊急ではありませんが、将来の開発のために、そのようなものに問題があるかどうか、またすべての過渡現象をどのように管理するかを知りたいと思います。
乾杯、フィッシュ
開発のために、私は常にWP_DEBUG
をtrue
に設定して作業し、次のようにすることをお勧めします。
$key = 'transient_key';
if( !WP_DEBUG && ( false !== ($transient = get_transient($key)) ){
/* Generate transient manually */
$expiration = 24*60*60;//How long to keep for
set_transient($key,$transient, $expiration);
}
一般に、トランジェントはデータベース内にあるとは決して想定されていないため、トランジェントを削除しても問題ありません。
あなたは物事がトランジェントをクリアしてリフレッシュするために更新されたときに実行されるさまざまなアクションをフックする必要があります。たとえば、ナビゲーションメニューが更新されると、wp_update_nav_menu
アクションが起動されます。ナビゲーションメニューの一時的な表示を更新するには、それに関数をフックします。
変更が加えられたときにそれを確認する必要性がパブリックサイトに影響を及ぼさないように、開発環境で開発を行うことをお勧めします。
このアプローチを使用すると、サイトのパフォーマンスとユーザーエクスペリエンスへの影響を最小限に抑えながら、トラフィックの少ない時間で本番環境に展開/プロモートしてトランジェントをフラッシュできます。