Création d’un plugin qui affiche une page.php sur un site wordpress (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 21)
  • Auteur
    Messages
  • #495056
    kechkmi
    Membre
    Initié WordPress
    36 contributions

    Bonjour,
    J’ai créé un fichier .php qui se situe dans le dossier de mon plugin et qui contient mes fonctions en rapport avec la création du widget,… Ce fichier possède une fonction qui va me permettre d’afficher une page .php se trouvant dans un sous-dossier du dossier du plugin. Mon problème se situe au niveau de ma page qui est appelé car je veux qu’elle possède l’apparence de mon thème mais la fonction get_option ne fonctionne pas sur elle.

    Est-ce que quelqu’un peut m’aider SVP?

    #770156
    kechkmi
    Membre
    Initié WordPress
    36 contributions

    Je n’utilisais pas la bonne approche. Il faut que mon plugin dit à wordpress de prendre ma page .php comme si s’était une page de wordpress et ça je ne vois pas comment faire!!!😉

    #770157
    Guy
    Participant
    Maître WordPress
    14817 contributions

    peut etre inclure wp_load.php en tête de fichier?

    #770158
    Laurent H
    Membre
    Chevalier WordPress
    126 contributions

    Je suis pas certain de tout comprendre….
    Si ton plugin définit un widget, c’est fait pour être mis dans une zone de widget définie dans ton thème.

    Si tu veux faire autre chose, comme mettre du contenu dans une page, va falloir faire autrement.
    Tu peux par exemple procéder comme suit :

    Dans ton plugin :

    function shortcode_xxx_handler($atts, $content = null) {
    $output = ‘Hello world!’;
    return $output;
    }
    add_shortcode(‘xxx’, ‘shortcode_xxx_handler’);

    Ensuite tu crée une page « normale » avec le titre que tu veux, et en contenu, tu mets simplement :

    [xxx]

    Si tu as besoin de récupérer des arguments, c’est là ou ça va se compliquer un peu…

    #770159
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Il dit que get_option ne fonctionne pas, je pense que c’est parce que la page est chargée sans les include de WordPress.

    #770160
    kechkmi
    Membre
    Initié WordPress
    36 contributions

    Merci pour vos réponses
    Oui, c’était ça Guy. Donc j’ai trouvé un autre moyen, lorsque j’active mon plugin, ce dernier va me créer une nouvelle page sur mon site et lorsque je le désactive, il l’a supprime automatiquement. Il ne me reste plus qu’à y insérer le contenu que je veux avec peut être un add_filter ou directement dans la base de donnée. Sauf que le problème, c’est que le contenu contient un formulaire en HTML et du javascript. Je ne pense pas que wordpress va aimer ça.

    #770161
    kechkmi
    Membre
    Initié WordPress
    36 contributions

    Je vais séparer mon formulaire html et mon javascript. Le problème s’est que mon formulaire utilise des fonctions de mon javascript dans les « onchange » et les « href » et je ne sais pas comment les appeler(si faut les mettre entre des balises ou bien mettre javascript:lafonction(),…). Mon plugin appelle mon script dans le head du site avec la fonction « wp_enqueue_script ».
    Est que quelqu’un sait comment on les appelle?

    #770162
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Mais en incluant wp_load.php en tête du fichier cela ne marche pas !!!
    Pour les scripts à partir du moment où ils sont enregistrés , ils sont disponibles.

    #770163
    kechkmi
    Membre
    Initié WordPress
    36 contributions

    Si je pense que si j’aurais mis wp_load.php dans la page.php, j’aurais pu me servir du get_option. J’ai changé d’idée car dans l’url il y aurait eu le chemin du plugin. Donc j’ai préféré que le plugin me créé une page sur le site lorsqu’il s’active. Donc je n’ai plus eu besoin d’utiliser get-option. J’ai décomposé la page.php que j’avais avant en deux parties, une partie qui est le formulaire qui se nomme form.php et une autre qui s’appelle functionplugin.js. le fichier javascript est appelé dans la page du plugin avec cette fonction « wp_enqueue_script ». Le problème réside maintenant sur l’appelle des fonctions javascript dans mon formulaires. Je ne sais pas s’il faut mettre dans un onchange la balise script avec la fonction ou javascript:lafonction().

    #770164
    Guy
    Participant
    Maître WordPress
    14817 contributions

    je mettrai javascript: fonction(), mais suis vraiment pas sur.

    #770165
    kechkmi
    Membre
    Initié WordPress
    36 contributions

    ok merci guy, je vais tester quand j’aurai réussi à importer mon form.php dans mon plugin.php

    #770166
    kechkmi
    Membre
    Initié WordPress
    36 contributions

    Est-ce que quelqu’un sait comment appeler un formulaire form.php dans le fichier du plugin.php afin de l’afficher dans le contenu d’une page du site. J’ai déjà essayé avec un add_filter et l’insertion dans le post_content de la base de donnée mais le formulaire qui est affiché est figé. Il ne prend pas en compte le javascript.

    #770167
    kechkmi
    Membre
    Initié WordPress
    36 contributions

    Je pense que le formulaire est bien inséré donc le problème viendrait du javascript.J’ai utilisé javascript:mafonction() pour appeler mon javascript dans mon formulaire mais je ne pense pas que ça doit être ça.

    #770168
    kechkmi
    Membre
    Initié WordPress
    36 contributions

    C’est bon, mon formulaire fonctionne et mon javascript aussi, petit problème, certaines fonctions de mon javascript ne fonctionne pas car elle utilise des fonctions d’un .jar.

    #770169
    Guy
    Participant
    Maître WordPress
    14817 contributions

    c’était résolu comment?

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