[WordPress] DBに_transient項目がクリアされない問題

Last Updated:2016年02月04日| コメントを残す

WordPressは _transientというDB項目を使用して、特定のデータをキャッシュします。 キャッシュされた項目は、基本的にはRSS情報、Cronが最後に実行されるときなどのものとします。 しかし、 WordPressのバグなのか、または特定のプラグインに起因するのか、キャッシュされた情報が指定された有効期限が過ぎても消去されず wp_options 内で _transient_dash_, _transient_timeout_feed__site_transient_theme_ などの項目がたまる問題が発生したりします。

このような問題が この記事で取り上げられています。 この記事に記載されているコードをテーマの関数ファイルに追加すると、問題が解決されています。

DBで制御する方法もあります。 まず、DB関連の作業を行う場合には、バックアップが必要です。 DBをバックアップした後、次のクエリを試してみてください。

SELECT option_name FROM wp_options WHERE option_name LIKE '_transient_timeout%' AND option_value < now();

wp_optionsはインストールされて WordPressで基本的なPrefixを使用していない場合には、切々と修正してください。

参考までに、上記のクエリを実行するには、phpMyAdminにアクセスして、SQLタブでは、上記のクエリを実行するようにします(バックアップ必須!!!)。

phpMyAdmin SQL Query  -  WordPressからtransient項目を削除する

上記のクエリを実行すると、有効期限が切れた トランジェント すべての項目が表示されます。

メモ:


コメントを残す

コメント