Ajouter des tables à WordPress (Créer un compte)

  • Statut : non résolu
2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Messages
  • #446736
    Riduidel
    Membre
    Initié WordPress
    4 contributions

    Salut, je bosse toujours sur mon plugin très littéraire de gestion de bibliothèque (ou plutôt d’avis) et je cale sur un truc tout bête : comment ajouter des tables à la chose ?
    Pour l’instant, dans mon code, j’ai le bout de magie noire suivant :

    function ndxbm_list_tables() {
    global $wpdb;
    $bm_tables = array(
    NDX_BM_BOOKS => false,
    NDX_BM_PERSONS => false,
    NDX_BM_ROLES => false,
    NDX_BM_CYCLES => false,
    NDX_BM_TOMES => false);
    // checks if the tables exist or not (massively inspired by the list plugin)
    // $wpdb est NULL ?
    $tables = $wpdb->get_results(« show tables; »);
    foreach($tables as $table_name) {
    if(array_key_exists($table_name, $bm_tables)) {
    $bm_tables[$table_name]=true;
    }
    }
    return $bm_tables;
    }

    qui vérifie si les tables dont nes noms sont donnés existent déja. Pour l’exemple, on va s’intéresser à NDX_BM_BOOKS (dont le vrai nom est « wp_ndx_books »). Si elle n’exisste pas, j’appelle cet autre bout de code

        ndxbm_update(
    « CREATE TABLE  » . NDX_BM_BOOKS .  » (
    isbn TEXT NOT NULL ,
    title TEXT NOT NULL ,
    book_url TEXT NOT NULL ,
    image_url TEXT NOT NULL ,
    editor TEXT NOT NULL ,
    collection TEXT NOT NULL ,
    date TEXT NOT NULL ,
    PRIMARY KEY ( isbn ),
    ); »
    );

    avec la méthode suivante

    function ndxbm_update($request) {
    require_once(ABSPATH . ‘wp-admin/upgrade-functions.php’);
    ndx_bm_local_mail(« ugrading », $request. »nn ».var_export(dbDelta($request), true));
    }

    J’ai trouvé l’appel à dbDelta dans la doc de WordPress : http://codex.wordpress.org/Creating_Tables_with_Plugins.
    Mais ça ne marche pas. Pire encore, rien ne semble se passer. Y aurait-il un truc que j’ignore ?

    #568199
    Oo
    Membre
    Maître WordPress
    2484 contributions

    Alors la je ne pense pas pouvoir t’aider mais espèrons que ce post puisse le faire remonter.

    😆

2 sujets de 1 à 2 (sur un total de 2)
  • Vous devez être connecté pour répondre à ce sujet.