IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

Création de tables supplémentaires dans la base de Wordpress (4.4.2)


Sujet :

WordPress PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mars 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Mars 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Création de tables supplémentaires dans la base de Wordpress (4.4.2)
    Bonjour à tous,

    J'ai actuellement un stagiaire qui développe un portail web sur Wordpress (4.4.2).

    Il me soutient mordicus qu'il est impossible de créer de nouvelles tables dans la base pour les besoins du site, sans quoi Wordpress n'est pas content et plante me dit-il...

    Mais une petite recherche sur Google et dans les extensions de Wordpress m'a permis de trouver des ressources qui vont dans le sens contraire !
    (ex.
    https://fr.wordpress.org/plugins/create-db-tables/
    https://fr.wordpress.org/plugins/ultimate-tables/
    https://fr.wordpress.org/plugins/cus...tabase-tables/
    https://fr.wordpress.org/plugins/custom-tables/
    http://christianelagace.com/wordpres...-avec-dbdelta/
    http://blog.nicolas-juen.fr/2011/12/...ans-wordpress/)

    Je commence à croire que mon stagiaire me raconte des salades ou qu'il n'est pas très compétent (tout au moins sur WP) ... qu'en pensez-vous ?

    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Hint : c'est un stagiaire

    Heureusement qu'on peut rajouter des tables dans une base Wordpress. La source la plus fiable qui le confirme :

    https://codex.wordpress.org/Creating...s_with_Plugins

  3. #3
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    ben, c'est un stagiaire... tu veux quoi de plus ?

    Questions compétences, c'est autre chose. Il peut être compétent voire même très compétent mais avec une mentalité moisie comme j'en ai déjà vu : du genre, je suis payé au minimum ben je fais moins que le minimum et le peu que je fais, je le fais quand j'ai le temps ou l'envie.
    Après, il y a eu tellement d'abus avec les bataillons de stagiaires que bon, c'est plus ou moins de bonne guerre.
    Le nombre de fois où j'ai eu à repasser sur des gros développements derrières des stagiaires qui avaient été employés comme des développeurs confirmés...
    Le stagiaire veut souvent bien faire avec ses connaissances et quasiment aucune expérience et c'est par la faute des entreprises qui se méprennent sur leur statut et compétences que souvent, une fois le stage terminé, tout est bon à jeter.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mars 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Mars 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour vos réponses.

    Mon stagiaire me dit que le code suivant, qui est celui indiqué pour la création de nouvelles tables, fait systématiquement planter le core de WP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    global $wpdb;
     
    $charset_collate = $wpdb->get_charset_collate();
     
    $sql = "CREATE TABLE $table_name (
      id mediumint(9) NOT NULL AUTO_INCREMENT,
      time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
      name tinytext NOT NULL,
      text text NOT NULL,
      url varchar(55) DEFAULT '' NOT NULL,
      UNIQUE KEY id (id)
    ) $charset_collate;";
     
    require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
    dbDelta( $sql );
    Qu'en pensez-vous SVP... ?

    MERCI

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    C'est l'exemple fourni par Wordpress ( https://codex.wordpress.org/Creating...s_with_Plugins ).

    Faut lire toute la doc. Ce code doit être mis dans une fonction qui sera appelé par le hook d'activation du plugin
    Et $table_name doit être défini aussi. Sinon ca marche moins bien.

  6. #6
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Bonjour

    Pour ce qui est de la création de table "à côté", c'est évidemment possible. J'ai déjà mis tout un forum PHPBB dans la même base que WP.

    Ensuite, pour le code PHP, il me semble crétin peu amène de mettre $table_name dans des guillemets où il ne sera pas interprété...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sql = "CREATE TABLE ".$table_name." (
      id mediumint(9) NOT NULL AUTO_INCREMENT,
      time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
      name tinytext NOT NULL,
      text text NOT NULL,
      url varchar(55) DEFAULT '' NOT NULL,
      UNIQUE KEY id (id)
    ) $charset_collate;";
    Plutôt, non ?

    (avant de trouver les autres bugs)

    Enfin, il serait bon de savoir si le code php est autorisé à créer des tables. Cela dépend du serveur. Mais, a priori, pas de problème sur des fournisseurs classiques.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "CREATE TABLE $table_name ...
    Non non, $table_name est bien interprété. C'est avec des apostrophes que les variables ne sont pas interprétées.

Discussions similaires

  1. sauver script de création de table temporaire dans la base
    Par Bruno75 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 31/10/2005, 17h09
  2. Réponses: 1
    Dernier message: 23/10/2005, 00h55
  3. comment savoir si une table existe dans la base?
    Par isa21493 dans le forum ASP
    Réponses: 6
    Dernier message: 01/09/2005, 17h09
  4. Réponses: 2
    Dernier message: 20/05/2005, 10h18
  5. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo