- Statut : non résolu
- Ce sujet contient 5 réponses, 3 participants et a été mis à jour pour la dernière fois par Lumiere de Lune, le il y a 9 années.
-
AuteurMessages
-
12 novembre 2015 à 22 h 16 min #556290
Bonjour,
Ma configuration WP actuelle
– Version de WordPress :
– Version de PHP/MySQL :
– Thème utilisé :
– Extensions en place :
– Nom de l’hebergeur :
– Adresse du site :Problème(s) rencontré(s) :
Lorsque l’on regarde le MCD de WORDPRESS cella ressemble à une base de données relationnelles, mais sous PHPadmin l’on ne vois pas les relations dans le concepteur.
Est-ce que cela vient du fait que les relations existent bel et bien mais elles ne sont pas gérées côté serveur.
Pourtant si l’on fait les relations entre table avec PHPMySQL il est capable de s’en souvenir.Comme j’ai crée des custum post type et des taxonomie j’aimerais voir leur relation afin de pouvoir bâtir des SQL :
Pour que vous m’aidiez, si cela est possible, voici mon code :
add_action(‘init’, ‘my_custom_init_ecofiche’);
function my_custom_init_ecofiche()
{
/* pour le back-office */
$labels_ecf = array(
‘name’ => ‘Eco fiches’,
‘singular_name’ => ‘Eco fiche’,
‘all_items’ => ‘Toutes les Eco fiches’,
‘add_new’ => ‘Ajouter une Eco fiche’,
‘add_new_item’ => ‘Ajouter une nouvelle Eco fiche’,
‘edit_item’ => ‘Editer une Eco fiche’,
‘new_item’ => ‘Nouvelle Eco fiche’,
‘view_item’ => ‘Voir l Eco fiche’,
‘search_items’ => ‘Rechercher une Eco fiche’,
‘not_found’ => ‘Aucune Eco fiche’,
‘not_found_in_trash’ => ‘Aucune Eco fiche dans la corbeille’,
‘menu_name’ => ‘Eco fiches’,
);
/* Puis je créé le type "Eco fiche" */
register_post_type(
‘eco-fichs’, /* slug */
array(
‘label’ => __(‘Eco-fiches’),
‘labels’ => $labels_ecf,
‘public’ => true,
‘show_ui’ => true,
‘capability_type’ => ‘post’,
‘has_archive’ => ‘eco-fichs’,
‘hierarchical’ => false,
‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’, ‘custom-fields’)
));
}
register_taxonomy( ‘sujet’, ‘eco-fichs’, array(
‘hierarchical’ => true,
‘labels’ => array(
‘name’ => __( ‘Sujets’),
‘singular_name’ => __( ‘Sujet’),
‘search_items’ => __( ‘Rechercher un sujet’ ),
‘popular_items’ => __( ‘Les plus utilisés’ ),
‘all_items’ => __( ‘Tous les sujets’ ),
‘parent_item’ => null,
‘parent_item_colon’ => null,
‘edit_item’ => __( ‘Editer un sujet’ ),
‘update_item’ => __( ‘Modifier un sujet’ ),
‘add_new_item’ => __( ‘Ajouter un sujet’ ),
‘new_item_name’ => __( ‘Nouveau nom de sujet’ ),
‘separate_items_with_commas’ => __( ‘UN SEUL sujet par eco-fiche’ ),
‘add_or_remove_items’ => __( ‘Ajouter ou enlever un sujet’ ),
‘choose_from_most_used’ => __( ‘Choisir parmi les sujets les plus utilisés’ ),
‘menu_name’ => __( ‘Sujets’ )
),
‘show_ui’ => true,
‘update_count_callback’ => ‘_update_post_term_count’,
‘query_var’ => true,
‘rewrite’ => array(
‘slug’ => ‘sujet’, /* Le slug */
‘with_front’ => false
)
) );
register_taxonomy(‘auteur’, ‘eco-fichs’, array(
‘hierarchical’ => true,
‘labels’ => array(
‘name’ => __( ‘Realisation’),
‘singular_name’ => __( ‘Auteur’),
‘search_items’ => __( ‘Rechercher un Auteur’ ),
‘all_items’ => __( ‘Tous les Auteurs’ ),
‘parent_item’ => __( ‘Auteur Parent’ ),
‘parent_item_colon’ => __( ‘Auteur Genre:’ ),
‘edit_item’ => __( ‘Editer un Auteur’ ),
‘update_item’ => __( ‘Modifier un Auteur’ ),
‘add_new_item’ => __( ‘Ajouter un Auteur’ ),
‘new_item_name’ => __( ‘Nouveau nom d Auteur’ ),
‘menu_name’ => __( ‘Realisation’ ),
),
‘show_ui’ => true,
‘query_var’ => true,
‘rewrite’ => array(
‘slug’ => ‘auteur-eco-fiche’, /* Le slug */
‘with_front’ => false
)
));20 novembre 2015 à 16 h 50 min #1028273Je viens de m’appercevoir que l’on en a rien à péter car on ne fait des requête SQL mais des loop sans avoir de notion de relation.
Cela dis quand ont à été habitué à des des vraies basses relationnels avec une type de données par colonne je trouve que la BDD WP est un joyeux bordel.
Après je n’ai rien contre WP et c’est un superbe outil. Il suffit de si adapter.
21 novembre 2015 à 9 h 32 min #1028274sylvainbr wrote:Je viens de m’appercevoir que l’on en a rien à péter car on ne fait des requête SQL mais des loop sans avoir de notion de relation.Il a des notions de relation, mais tu ne les voient pas Nuance. 😆
Regarde la bse d’un Joomla (ou d’un Prestshop, même si c’est pas la même type de site) pour voir un joyeux bordel :lol::lol::lol:
21 novembre 2015 à 10 h 03 min #1028275Les relations sont effectivement chargées via les actions dans ce cas. Ca a un énorme avantage, ça évite de polluer la base de données avec plein de trucs laissés par des plugins ou des thèmes mal gérés, mal installés.
Par ailleurs, je ne suis pas certaine, en l’occurrence, que mettre la « relation » en place ait un quelconque intérêt étant donné la structure de la base de données wordpress.
La « relation » n’en est pas une, c’est une « activation », autrement dit une autorisation d’agir sur tel ou tel type d’objet.
Mettre en place en base de données une telle relation obligerait à :
1- avoir une table pour les types de post (actuellement un champ dans wp_post)
2- avec une relation entre cette table et wp_postset pareil pour les taxos… donc deux tables de plus, augmentation des join, baisse de la performance
WordPress gère différemment, simplement en filtrant l’affichage, en front end et en admin, en fonction d’une variable globale qui est chargée lors de ‘l’initialisation ».
Ca me parait plus souple et nettement plus extensible qu’un bon « MVC » bien lourd
sylvainbr wrote:Cela dis quand ont à été habitué à des des vraies basses relationnels avec une type de données par colonne je trouve que la BDD WP est un joyeux bordel.ça c’est le modèle que j’ai abandonné il y a dix ans, quand j’ai du redessiner une appli entière pour rajouter l’allemand à côté de l’anglais.
Par ailleurs, il existe, si tu en éprouves le besoin, des fonctions qui te permettent de lister les « objets » taxonomies ou post type et donc d’avoir l’information que tu cherches.
21 novembre 2015 à 19 h 29 min #1028276Lumière de Lune wrote:Par ailleurs, il existe, si tu en éprouves le besoin, des fonctions qui te permettent de lister les « objets » taxonomies ou post type et donc d’avoir l’information que tu cherches.Effectivement je suis preneur de cette info.
Au passage j’ai lu un livre sur le déploiement sous WP et je suis decu car ce dernier mais l’accent sur la conception des plugin.
Je trouve que lorsque l’on débute ce n’est pas évident le développement WP malgré mes recherche sur le net et dans le codex et des tutos sous youtube.
22 novembre 2015 à 6 h 33 min #1028277La question est de savoir si on est débutant « développeur » ou « débutant développeur WP ».
Le développement sous WP passe par la conception de plugin.
Pour les fonctions il y a le Codex.
En plus les fonctions de WordPress sont nommées très logiquement :
the_xxx pour un affichage
get_xxx pour récupérer des valeurs dans une variableassez souvent get_object_xxx
En bas de chaque fonction, tu as une liste de fonctions liées
Bref si tu veux avoir de l’info sur les taxonomies, tu tentes au hasard get_taxonomy ou get_taxonomies et ça marche
Et tu te dis « oh dans le même style est-ce qu’il n’y aurais pas un get_post_type » ? Bingo… et ça marche pour tous les objets WordPressTu peux aussi passer à travers ça régulièrement https://codex.wordpress.org/Function_Reference
-
AuteurMessages
- Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.