Description

Le cache sera vérifié en premier. La fonction fonctionne aussi s'il y a un cache pour votre plugin qui y sauvegarderait ses valeurs. Si vous utiliser le cache par défaut de WordPress, et la base de donnée qui va avec, il pourrait y avoir quelques problèmes.

Vérifie l'option 'siteurl' pour WordPress soit installé.

Pour plus d'informations sur cette fonction ou d'autres similaires, voir l'article Conditional Tags sur le Manuel du développeur de thème.

Retourne

(bool) True si WordPress est installé.

Structure de la fonction is_blog_installed()

Définie dans le fichier wp-includes/functions.php à la ligne 1704 :

function is_blog_installed() {
    global $wpdb;

    /*
     * Check cache first. If options table goes away and we have true
     * cached, oh well.
     */
    if ( wp_cache_get( 'is_blog_installed' ) ) {
        return true;
    }

    $suppress = $wpdb->suppress_errors();
    if ( ! wp_installing() ) {
        $alloptions = wp_load_alloptions();
    }
    // If siteurl is not set to autoload, check it specifically.
    if ( ! isset( $alloptions['siteurl'] ) ) {
        $installed = $wpdb->get_var( "SELECT option_value FROM $wpdb->options WHERE option_name = 'siteurl'" );
    } else {
        $installed = $alloptions['siteurl'];
    }
    $wpdb->suppress_errors( $suppress );

    $installed = ! empty( $installed );
    wp_cache_set( 'is_blog_installed', $installed );

    if ( $installed ) {
        return true;
    }

    // If visiting repair.php, return true and let it take over.
    if ( defined( 'WP_REPAIRING' ) ) {
        return true;
    }

    $suppress = $wpdb->suppress_errors();

    /*
     * Loop over the WP tables. If none exist, then scratch installation is allowed.
     * If one or more exist, suggest table repair since we got here because the
     * options table could not be accessed.
     */
    $wp_tables = $wpdb->tables();
    foreach ( $wp_tables as $table ) {
        // The existence of custom user tables shouldn't suggest an insane state or prevent a clean installation.
        if ( defined( 'CUSTOM_USER_TABLE' ) && CUSTOM_USER_TABLE == $table ) {
            continue;
        }
        if ( defined( 'CUSTOM_USER_META_TABLE' ) && CUSTOM_USER_META_TABLE == $table ) {
            continue;
        }

        $described_table = $wpdb->get_results( "DESCRIBE $table;" );
        if (
            ( ! $described_table && empty( $wpdb->last_error ) ) ||
            ( is_array( $described_table ) && 0 === count( $described_table ) )
        ) {
            continue;
        }

        // One or more tables exist. We are insane.

        wp_load_translations_early();

        // Die with a DB error.
        $wpdb->error = sprintf(
            /* translators: %s: Database repair URL. */
            __( 'One or more database tables are unavailable. The database may need to be <a href="%s">repaired</a>.' ),
            'maint/repair.php?referrer=is_blog_installed'
        );

        dead_db();
    }

    $wpdb->suppress_errors( $suppress );

    wp_cache_set( 'is_blog_installed', false );

    return false;
}

Fonctions utilisées par is_blog_installed()

wp_installing()

Vérifie ou met Wordpress en mode installation.

wp_cache_get()

Retourne les contenus du cache en donnant la clé et le groupe.

wp_cache_set()

Sauvegarde les données dans le cache.

__()

Retourne la traduction d'un texte.

wp_load_translations_early()

Tente un chargement en avance des translations.

dead_db()

Charge les erreurs personnalisées de WordPress de la base de donnée ou les affiche.

wp_load_alloptions()

Charge et met en cache toutes les options auto-chargées si disponible ou toutes les options.

Où trouver la fonction is_blog_installed() dans le CMS Wordpress

Sources

Codex Wordpress : is_blog_installed()

Autres fonctions dans le même fichier : wp-includes/functions.php

Retour