0

保存されたデータ全体を取得する前に、トランジェントが存在するかどうかを確認する方法はありますか?

このページhttp://codex.wordpress.org/Transients_APIによると、保存された一時的な値が正常に取得されたかどうかを確認するには、次のコードが使用されます。

if ( false === ( $value = get_transient( 'value' ) ) ) {
     // this code runs when there is no valid transient set
}

ただし、これは、取得されたデータが利用可能な場合に使用されることを前提としています。Transient API を使用して何百もの Web ページがキャッシュされ、キャッシュがまだ存在するかどうかのみを確認する必要がある場合、すべてのデータを取得するのは現実的ではありません。速度とメモリにどのように影響するかはわかりませんが、一般的に、サイズが大きいほど遅くなり、より多くのメモリを消費します。

そのため、保存されているか機能が気に入らないかだけを確認する簡単な方法があるかどうか疑問に思っていempty()ます。

情報ありがとうございます。

4

2 に答える 2

8

これは有効期限のみを取得します。

$your_transient = 'your_transient';
$data_timeout = get_option('_transient_timeout_' . $your_transient);
if ($data_timeout < time())
    echo 'it is expired.';
else
    echo 'there is a transient';
于 2012-09-23T16:56:29.890 に答える
2

if(!get_transient('value')) はジョブを実行する必要があり、トランジェントが存在するか期限切れになっているかどうかを確認します。

于 2012-09-15T07:31:32.463 に答える