11.1. set_transient()

<?php
function set_transient( $transient, $value, $expiration = 0 ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

Hinweis

Wie bereits erwähnt ist die Transient API der Options API sehr ähnlich. Das liegt daran, dass WordPress intern auf die Options-API Funktionen zurückgreift. Das wiederum bedeutet, dass alle Transient-Werte auch in der Datenbank wp_options gespeichert werden.
Die wp_options Tabelle legt für die Spalte option_name eine maximale Länge von gerade einmal 119 Zeichen fest (in Versionen vor 4.4.0 waren es nur 64).
WordPress speichert zu jedem Transienten zwei Werte: einmal den Wert selbst und zum zweiten den Timeout. Um Transienten und deren Timeouts unverkennlich zu machen stellt es dem eigentlichen Namen ein _transient_ (11 Zeichen) voraus. Dem Timeout-Wert wird ein _transient_timeout_ (19 Zeichen) vorangestellt.
Das bedeutet das ein Transient mit dem beispielhaften Namen facebook-likes unter folgenden Namen gespeichert wird: _transient_facebook-likes sowie _transient_timeout_facebook-likes.
Sie sollten das im Kopf haben wenn Sie versuchen lange Transient-Namen (wie z.B. URLs) zu speichern. Nach Abzug des längsten Präfixes bleiben Ihnen effektiv 100 Zeichen (119-19=100) bzw. in Versionen vor 4.4.0 nur 45 Zeichen (64-19=45) übrig.

Beispiel

Ergänzen wir das Plugin bzw. die Funktion mm_no_of_fb_shares_shortcode() aus Kapitel 9.6.1. wie folgt:

You’re not allowed to see this content. Please log in first.

  1. https://core.trac.wordpress.org/browser/tags/3.9.1/src/wp-includes/option.php#L0 ↩︎