set_transient 設(shè)置或更新瞬態(tài)數(shù)據(jù)的值

發(fā)布于:
更新時(shí)間:2025-04-24

本文詳細(xì)介紹了WordPress中set_transient函數(shù)的用法,包括參數(shù)說明、返回值和實(shí)際應(yīng)用示例。通過該函數(shù),可以高效地保存和更新臨時(shí)數(shù)據(jù),適用于緩存等場景。文章還提供了注意事項(xiàng)和相關(guān)函數(shù)的參考。

在WordPress中設(shè)置或更新瞬態(tài)數(shù)據(jù)的值,經(jīng)常用來保存一些不需要一直存在的數(shù)據(jù)。

函數(shù)參數(shù)

參數(shù)數(shù)據(jù)類型是否必需描述默認(rèn)值
$transient字符串瞬態(tài)數(shù)據(jù)名稱,長度不得超過 172 個(gè)字符。
$value多種瞬態(tài)數(shù)據(jù)的值,如果是非標(biāo)量,必需是可以被序列化的
$expiration整數(shù)過期時(shí)間,以秒為單位0

函數(shù)返回值

設(shè)置成功返回 true,否則返回 false

使用示例

下面的示例中,我們獲取5篇最新的文章,保存在了名為 latest_5_posts 中,有效期位1天。

$args = array(
    'post_type'      => 'post',
    'posts_per_page' => 5,
    'orderby'        => 'date',
    'order'          => 'DESC'
);
$latest_post = new WP_Query( $args );
 
// 保存結(jié)果到名為 latest_5_posts 的瞬態(tài)數(shù)據(jù)中
set_transient( 'latest_5_posts', $latest_post, DAY_IN_SECONDS );

更多信息

對于參數(shù) $transient 來說,如果未啟用 memcached,其名稱應(yīng)小于等于172個(gè)字符,因?yàn)閃ordPress會(huì)在選項(xiàng)數(shù)據(jù)表中為此變量添加前綴“_transient_”或“_transient_timeout_”(取決于它是否過期),如果名稱過長,該數(shù)據(jù)會(huì)默認(rèn)處于實(shí)效狀態(tài)。

如果瞬態(tài)數(shù)據(jù)已存在,改函數(shù)會(huì)更新瞬態(tài)數(shù)據(jù)到到期時(shí)間。

注意:如果瞬態(tài)數(shù)據(jù)未設(shè)置過期時(shí)間,該數(shù)據(jù)會(huì)被自動(dòng)加載。在添加不會(huì)在每一個(gè)頁面上使用的瞬態(tài)數(shù)據(jù)時(shí)要考慮到這一點(diǎn),以免因?yàn)樽詣?dòng)加載過多的不必要瞬態(tài)數(shù)據(jù)而影像頁面性能。

相關(guān)函數(shù)

get_transient

我們提供 WordPress主題和插件定制開發(fā)服務(wù)

本站長期承接 WordPress主題、插件、基于 WooCommerce 的商店商城開發(fā)業(yè)務(wù)。 我們有 10 年WordPress開發(fā)經(jīng)驗(yàn),如果你想 用WordPress開發(fā)網(wǎng)站, 請聯(lián)系微信: iwillhappy1314,或郵箱: [email protected] 咨詢。

One thought on “set_transient 設(shè)置或更新瞬態(tài)數(shù)據(jù)的值

發(fā)表回復(fù)

您的郵箱地址不會(huì)被公開。 必填項(xiàng)已用 * 標(biāo)注

*