Envoyer des données venant de la bdd à une page front ( DIVI builder) (Créer un compte)

  • WordPress :6.1
  • Statut : non résolu
9 sujets de 1 à 9 (sur un total de 9)
  • Auteur
    Messages
  • #2453458
    Conscious
    Participant
    Initié WordPress
    7 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 8.2
    • Thème utilisé : Divi thème
    • Extensions en place :
    • Nom de l’hébergeur : infomaniak
    • Adresse du site : non déployé

    Problème(s) rencontré(s) :

     

    Bonjour, j’ai conçu une extension qui propose une interface dans l’admin avec un CRUD pour gérer une table en base de données. Tout cela est fonctionnel.

    Désormais je souhaite exécuter une requête sql pour récupérer mes enregistrements et les afficher dans du html sur les pages du site.

    Travaillant avec divi je peux ajouter un module code pour faire mon html comme je l’entends mais je ne suis pas certains de la meilleur manière de récupérer mes enregistrements à cet endroit là.

    Je me penchais vers une requête en ajax.

    L’idéal aurait été un shortcode ou un hook puis de passer les données du php au js mais j’ai du mal à voir comment m’y prendre, vue que je ne peux pas ajouter un fichier php dans le front.

    Il reste l’option de construire un module divi custom avec une requete dans le php, cela serait le plus propre il me semble.

    Si quelqu’un peut m’éclairer, entre actions, filtres, shortcode ou ajax je suis un peu perdu quand je veux appliquer ça dans le divi builder.

    En vous remerciant.

    #2453471
    C_Lucien
    Modérateur
    Maître WordPress
    5115 contributions

    Bonjour,

    êtes-vous sûr de poser la question sur le bon forum ?

    Il me semble, quoique je puisse me tromper, qu’intervenir à ce niveau de code dépasse –un peu ? l’aide qu’on apporte généralement ici sur l’utilisation de WordPress.

    D’autre part, Divi Builder étant un produit commercial, on sort du domaine de ce forum. Peut-être aurez-vous quelque chance en parcourant la documentation pour développeurs que propose Elegant Themes.

    #2453581
    Conscious
    Participant
    Initié WordPress
    7 contributions

    J’entends votre réponse. Je vais m’orienter vers d’autre forum. Egalement je comprend que vous ne puissiez ici répondre vis-à-vis de divi.

    Dans un second temps, si je devais formuler l’essentiel de ma question ce serait quels sont les meilleures moyen de récupérer un résultat SQL directement sur une page front.

    Si jamais quelqu’un à des suggestions je suis preneur.

    Merci pour votre réponse et bon week-end à vous.

    #2453582
    ferman
    Participant
    Maître WordPress
    6994 contributions

    …récupérer un résultat SQL directement sur une page front.

    Il y a plusieurs méthodes et ça dépend de ce que vous voulez récupérer. La méthode générale est d’utiliser la variable $wpdb, de faire une requête  sql  (select)  et de donner le résultat sous forme de liste ou de tableau à l’endroit voulu en page front ou sur une autre page, à l’aide d’un filtre ou d’un shortcode.  Voila à peu près tout ce qu’on peut dire.

    • Cette réponse a été modifiée le il y a 1 année et 1 mois par ferman.
    #2453584
    Conscious
    Participant
    Initié WordPress
    7 contributions

    Le shortcode serait l’idéal. Je le glisse dans l’html et je reçois mon tableau. J’ai du mal à trouver de la doc pour ce cas précis des shortcode, peut être avez vous quelques choses à me proposer ?

    #2453585
    mathieu42
    Participant
    Maître WordPress
    2012 contributions

    pour créer un shortcode dans votre extension, vous pouvez regarder là :

    Basic Shortcodes

     

    #2453586
    Li-An
    Participant
    Maître WordPress
    28491 contributions

    Bonjour, il semblerait que cette extension le fasse https://supsystic.com/documentation/database-source/

    #2453587
    ferman
    Participant
    Maître WordPress
    6994 contributions

    Un exemple basique que j’ai déjà utilisé:

    En front page, dans un simple widget texte placé dans le footer, on ajoute un shortcode. On fait une requête SQL et récupère le résultat (les 5 dernières mises à jour d’articles) dans le widget grâce au shortcode. (voir pj. Le shortcode en back, le shortcode en front, le résultat de la fonction)

    function dernieres_mises_a_jour() {
    ob_start();
    global $wpdb;
    $posts = $wpdb->get_results("SELECT post_modified, post_name FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_modified DESC LIMIT 5");
    foreach ($posts as $post)
    {?>
    <ul class="display_modifs">
    <?php echo '<li>'.'   '.$post->post_modified.'   '.$post->post_name.'</li>';?>
    </ul>
    <?php }
    return ob_get_clean();}

    add_shortcode('shortcodewidget','dernieres_mises_a_jour');

    On peut remplacer le shortcode par un « hook » (générique wordpress (wp_footer, wp_head) ou, ce qui est mieux, dépendant du thème).

    • Cette réponse a été modifiée le il y a 1 année et 1 mois par ferman.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2453667
    Conscious
    Participant
    Initié WordPress
    7 contributions

    Merci pour ces réponses. Finalement je m’y prenais bien pour les shortcodes, en local aucun souci mais sur le site aucun shortcode ne fonctionne, ni les natifs ni les custom… J’ai créé une page classique de worpress et rien ne s’affiche, certaines personnes ont rencontrés ce problème et se sont dirigés vers leurs hebergeur… je vous tiens informé.

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