wp transient în WordPress

Citește, setează și șterge transients (valori temporare cu expirare) din terminal, inclusiv toate cele expirate.

Sintaxă
wp transient get <key> [--format=<format>] [--network]
wp transient set <key> <value> [<expiration>] [--network]
wp transient delete [<key>] [--network] [--all] [--expired]

Ce face wp transient

Transients sunt valori temporare salvate de teme și pluginuri cu set_transient(), cu un timp de expirare: rezultatul unei cereri către un API, un număr calculat greu. Implicit stau în tabelul wp_options; dacă site-ul are un cache persistent de obiecte (Redis, Memcached), stau acolo în loc de baza de date. wp transient type îți spune care e cazul.

wp transient get afișează valoarea, set o salvează (expirarea e în secunde; fără ea, valoarea nu expiră), iar delete o șterge. Cu --expired ștergi doar transients expirate, rămase în baza de date, iar cu --all le ștergi pe toate.

Opțiunea --network lucrează cu transients de rețea (set_site_transient()): pe un site simplu sunt o cheie cu nume special, iar pe multisite sunt comune tuturor site-urilor.

Parametri

Parametru Descriere
<key> Numele transientului (la delete e opțional dacă folosești --all sau --expired).
<value> La set: valoarea salvată.
<expiration> La set: timpul până la expirare, în secunde.
--format=<format> La get: table (implicit), csv, json, yaml.
--network Lucrează cu transients de rețea (site transients).
--all La delete: șterge toate transients.
--expired La delete: șterge doar transients expirate.

Exemple

Exemplul 1: Salvarea și citirea unui transient

Valoarea expiră după 3600 de secunde (o oră). După expirare, get nu o mai găsește.

wp transient set dex_curs_euro "4.97 lei" 3600
wp transient get dex_curs_euro

Ieșire în terminal

Success: Transient added.
4.97 lei

Exemplul 2: Ștergerea unui transient, ca pluginul să-l recalculeze

Util când un plugin afișează date vechi: după ștergere, la următoarea cerere codul îl generează din nou.

wp transient delete dex_meniu_cafenea

Ieșire în terminal

Success: Transient deleted.

Exemplul 3: Curățenie: transients expirate, apoi toate

--expired e sigur de rulat oricând. --all șterge și transients valide, care vor fi recalculate.

wp transient delete --expired
wp transient delete --all

Ieșire în terminal

Success: 23 expired transients deleted from the database.
Success: 41 transients deleted from the database.

Greșeli frecvente

  • Citirea unui transient expirat sau inexistent: wp transient get afișează un avertisment că transientul nu este setat, nu o valoare goală.
  • Ștergerea cu --all sau --expired pe un site cu Redis/Memcached: comanda șterge doar ce e în baza de date și avertizează că transients din cache-ul extern rămân; pentru ele rulează wp cache flush.
  • Amestecarea transients obișnuite cu cele de rețea: o valoare salvată cu set_site_transient() se citește doar cu --network.

Comenzi înrudite

  • set_transient / get_transient: Transients API păstrează temporar un rezultat costisitor (un apel HTTP, o interogare), cu durată de expirare în secunde.
  • wp option get / update: Citește, modifică și listează opțiunile WordPress din tabelul wp_options direct din terminal.
  • wp cache flush: Golește cache-ul de obiecte WordPress (Object Cache), de exemplu după o modificare directă în baza de date.