wp_load_alloptions( bool $force_cache = false )
Charge et met en cache toutes les options auto-chargées si disponible ou toutes les options.
Paramètre
$force_cache(bool)optionnelPour forcer une mise à jour du cache local provenant du cache persistant.
Valeur par défaut : false
Retourne
(array) Liste de toutes les options.
Déclaration et structure de la fonction wp_load_alloptions()
wp_load_alloptions() est déclarée dans le fichier wp-includes/option.php à la ligne 582 :
function wp_load_alloptions( $force_cache = false ) {
global $wpdb;
/**
* Filters the array of alloptions before it is populated.
*
* Returning an array from the filter will effectively short circuit
* wp_load_alloptions(), returning that value instead.
*
* @since 6.2.0
*
* @param array|null $alloptions An array of alloptions. Default null.
* @param bool $force_cache Whether to force an update of the local cache from the persistent cache. Default false.
*/
$alloptions = apply_filters( 'pre_wp_load_alloptions', null, $force_cache );
if ( is_array( $alloptions ) ) {
return $alloptions;
}
if ( ! wp_installing() || ! is_multisite() ) {
$alloptions = wp_cache_get( 'alloptions', 'options', $force_cache );
} else {
$alloptions = false;
}
if ( ! $alloptions ) {
$suppress = $wpdb->suppress_errors();
$alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options WHERE autoload IN ( '" . implode( "', '", esc_sql( wp_autoload_values_to_autoload() ) ) . "' )" );
if ( ! $alloptions_db ) {
$alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options" );
}
$wpdb->suppress_errors( $suppress );
$alloptions = array();
foreach ( (array) $alloptions_db as $o ) {
$alloptions[ $o->option_name ] = $o->option_value;
}
if ( ! wp_installing() || ! is_multisite() ) {
/**
* Filters all options before caching them.
*
* @since 4.9.0
*
* @param array $alloptions Array with all options.
*/
$alloptions = apply_filters( 'pre_cache_alloptions', $alloptions );
wp_cache_add( 'alloptions', $alloptions, 'options' );
}
}
/**
* Filters all options after retrieving them.
*
* @since 4.9.0
*
* @param array $alloptions Array with all options.
*/
return apply_filters( 'alloptions', $alloptions );
}
Fonctions utilisées par wp_load_alloptions()
apply_filters()Appel les fonctions qui ont été attaché à un filtre (hook).
wp_installing()Vérifie ou met Wordpress en mode installation.
is_multisite()Vérifie si le multisite est autorisé.
wp_cache_get()Retourne les contenus du cache en donnant la clé et le groupe.
esc_sql()Échappe les données à utiliser dans une requête MySQL.
wp_autoload_values_to_autoload()Renvoie les valeurs qui déclenchent le chargement automatique à partir de la table d'options.
wp_cache_add()Ajoute des données au cache si la clé du cache n'existe pas.
Hooks utilisés par wp_load_alloptions()
pre_wp_load_alloptionsFiltre le tableau de toutes les options avant qu'il ne soit rempli.
pre_cache_alloptionsFiltre toutes les options avant de les mettre en cache.
alloptionsFiltre toutes les options après les avoir retourné.
Où est utilisée la fonction wp_load_alloptions()
dans le CMS WordPress
Exemple
$all_options = wp_load_alloptions();
$my_options = array();
foreach ( $all_options as $name => $value ) {
if ( stristr( $name, '_transient' ) ) {
$my_options[ $name ] = $value;
}
}
print_r( $my_options );
Sources
Codex WordPress : wp_load_alloptions()
Autres fonctions dans le même fichier : wp-includes/option.php