2 votes

Appeler une fonction php dans le contenu d'une page personnalisée dans wp-admin.

Je modifie la page personnalisée dans wp-admin. Actuellement dans l'éditeur je vois que

[vc_column_text]Titre1[/vc_column_text]

Après chaque [/vc_column_text] je dois afficher des informations à partir de la base de données. Comment puis-je appeler une fonction php avec quelques paramètres dans l'éditeur wp-admin ? Comme ceci ou de cette manière :

[vc_column_text]Titre[/vc_column_text]
[getInforFromDatabase('Titre1')]

2voto

Poiz Points 6627

Cela va prendre un certain temps. Vous ne pouvez pas directement appeler une fonction PHP depuis l'éditeur WP-Admin, mais vous pouvez créer un plugin simple et rudimentaire pour faire le gros du travail pour vous. Et ensuite exposer un code court que vous pouvez utiliser depuis l'éditeur WP Admin.

Pour ce faire, créez d'abord un répertoire dans votre répertoire wp-content/plugins. À des fins de démonstration, nous appellerons ce répertoire : dbInfoSifter mais le nom vous revient entièrement. À la fin, le chemin de ce répertoire serait : wp-content/plugins/dbInfoSifter

Maintenant, à l'intérieur de ce dossier (dbInfoSifter), créez un fichier PHP avec le même nom encore une fois pour que vous ayez : wp-content/plugins/dbInfoSifter/dbInfoSifter.php. Ajoutez maintenant le code suivant à l'intérieur du fichier dbInfoSifter.php :

     "valeur_par_défaut", /*<= DÉFINIR UNE VALEUR PAR DÉFAUT*/
                'param2'     => "valeur_par_défaut", /*<= DÉFINIR UNE VALEUR PAR DÉFAUT*/
            ), $atts ));
            // AVEC LA FONCTION extract, VOUS POUVEZ MAINTENANT UTILISER titre1 ET param2
            // COMME DES VARIABLES NORMALES DANS VOS PROGRAMMES COMME $titre1, $param2.
            // C'EST ICI QUE VOUS ÉLABOREZ VOTRE LOGIQUE POUR OBTENIR DES DONNÉES DE LA
            // BASE DE DONNÉES ET VOUS POUVEZ UTILISER LES PARAMÈTRES AUSSI...
            // VOUS N'ÊTES PAS LIMITÉ PAR LE NOMBRE DE PARAMÈTRES À UTILISER
            // AINSI QUE LE NOM DES PARAMÈTRES... 
            // CEUX-CI SONT COMPLÈTEMENT LIBRES...

            /* ET AINSI VOTRE LOGIQUE CONTINUE...*/   

            // IL EST TRÈS IMPORTANT QUE CETTE FONCTION RENVOIE UNE VALEUR.
            // LE PLUS SOUVENT, LE TYPE SERAIT UNE CHAÎNE DE CARACTÈRES
            // (SPÉCIALEMENT SI VOUS SOUHAITEZ L'AFFICHER AUTOMATIQUEMENT) 
            return $valeurChaineRésultanteDesTransactionsDB;
        }

C'est tout... rien de vraiment spécial à cela... Mais vous pouvez également avoir d'autres fonctions dans ce fichier qui font quelque chose, de toute façon. Cependant, les parties les plus importantes de ce fichier (dans votre cas) sont : 1.) La fonction : dbsGetInfoFromDatabase($args) et 2.) Les Commentaires en haut du fichier.

Maintenant, dans l'éditeur WP-Admin ; vous pouvez simplement faire référence à cette fonction en utilisant le code court que nous avons créé comme ceci :

          // WP-ADMIN EDITION (BACKEND)
          [vc_column_text]Titile[/vc_column_text]
          [getInfoFromDatabase titre1='Titile1']  //<== APPELEZ VOTRE SHORT-CODE 

Alternativement, vous pouvez le faire ainsi :

          // WP-ADMIN EDITION (BACKEND)
          [vc_column_text]Titile[/vc_column_text]
          [getInfoFromDatabase titre1='Titile1'][/getInfoFromDatabase]         

Les deux réaliseront le même résultat, mais le premier semble plus concis (pour moi). Faites votre choix.

Enfin, vous devez activer le Plugin dans le Backend pour que cela fonctionne. Donc ; accédez à votre section Plugins (dans le Backend de Wordpress). Vous remarquerez un nouveau Plugin appelé DB Info Sifter. Activez-le simplement et vous êtes enfin FINI. Votre code court fonctionnera désormais comme si vous aviez réellement appelé une fonction et lui aviez passé le paramètre $titre1.

J'espère que cela vous aide un peu et vous donne un bon départ... Bonne chance à vous, mon ami...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X