Intégrer un script PHP externe dans un site WordPress

Conserver la même apparence au niveau du header et du footer pour intégrer un script PHP externe à votre installation WordPress n’est pas simple bien qu’une opération de ce type soit monnaie-courante – tant les scripts « maison » sont présents en interne dans les entreprises.Dernièrement, j’ai été confronté au problème suivant : comment faire en sorte que le script PHP développé par une personne en interne dans l’entreprise soit fonctionnel et visuellement en adéquation avec la nouvelle version du site Internet porté sous WordPress ?

Nous allons donc voir ensemble comment utiliser 2 bouts de code : l’un pour le header (en-tête) et l’autre pour le footer (pied de page).

Ouvrez donc le fichier PHP correspondant à votre script puis ajoutez les lignes suivantes en début :

<?php
require('./wp-blog-header.php');
include $_SERVER['DOCUMENT_ROOT']."/wp-content/themes/NOM_DU_THEME/header.php";
?>

Faites de même en fin de fichier :

<?php
require('./wp-blog-header.php');
include $_SERVER['DOCUMENT_ROOT']."/wp-content/themes/NOM_DU_THEME/footer.php";
?>

Remplacez ensuite l’URL avec le nom de votre thème – ici, NOM_DU_THEME.

Affichez ensuite le script PHP dans votre navigateur et admirez le résultat : celui-ci devrait s’afficher comme les autres pages du site. Bien entendu, des ajustements seront probablement nécessaires concernant les balises <div> à rajouter par rapport à votre thème.

Ce tutoriel vous a donc présenté une méthode simple et éprouvée pour intégrer aisément n’importe quel script PHP dans un site WordPress.

Crédits photo : Laughing Squid

38 commentaires

  1. Crunch

    Superbe astuce !
    Je vais la mettre en application pour mes galeries de téléchargement de thèmes PS3, et puis je verrais par la suite pour le reste. Merci bien

  2. Amaury

    Cela fonctionne peut être, mais c’est extrêmement peu propre.

    En fait, tu charges toutes les fonctionnalités de WordPress + Celle du script en question.

    Donc question performance, ça n’est pas fameux.

    De plus, il peut facilement y a avoir des conflits entre les fonctions, les variables de WordPress, et celle du script PHP. Donc ca risque de ne pas fonctionner à tous les coups.

    Pour ce type de problématique, il y a rarement des solutions toutes faites, on est parfois forcé de faire l’iframe, des requêtes Ajax + cache pour reprendre l’apparence, etc.

    1. Aurélien Denis auteur de l’article

      Merci de cet avis Amaury !

      Par contre, dans mon cas, je cherchais effectivement à ce que le script + WordPress soit chargé et je n’ai pas rencontré de problèmes de performances – certes le script n’est pas bien lourd.

  3. Cédric G.

    Bonjour

    Pour ma part, dans le cadre d’un autre projet j’ai choisi la démarche « inverse » puisque j’ai intégré les fonctions externes via functions.php dans le thème, avec la mise en oeuvre de shortcodes paramétrables

    (le fait est qu’ensuite, pour des raisons de performances, j’ai couplé AJAX et cache pour améliorer l’expérience utilisateur et éviter de devoir recharger des pages pour de simples tris/filtrages de données… L’enjeu étant la présentation de données stockées dans une base de données)

    Sur des projets beaucoup plus complexes (par ex. couplage d’une boutique en ligne Prestashop avec 5 blogs WordPress thématiques) la solution a été d’intégrer header et footer séparément sur les deux plates-formes, car ce n’était pas jouable autrement.

    Voilà

    1. Aurélien Denis auteur de l’article

      J’y vois principalement 2 raisons.

      La première est que l’URL fournit par une page ne propose pas d’extension. Or, bien des scripts ont besoin de pointer directement vers un fichier HTML ou PHP.

      La seconde est que le modèle de page se situe dans le dossier du thème et non à la racine du domaine ce qui peut, là encore, empêcher le fonctionnement du script.

  4. libredutabac.com

    Bonjour Aurélien,
    Bonjour à tou(te)s,

    Merci pour cette info comme à chaque fois très bien présentée…

    Ceci dit, j’ai lu ici…

    http://vzurczak2.wordpress.com/2011/04/18/wordpress-sans-wordpress-et-les-erreurs-404/

    … qu’il ne fallait PAS (ou plus) utiliser ‘wp-blog-header’.

    Tout simplement parce que, si j’ai bien compris, ce script fonctionne en apparence, mais en apparence seulement, en s’appuyant sur un code qui génère des appels de page 404 (‘Erreur’).

    Il conviendrait par conséquent de donner ‘wp-blog-header’ au chat ou le jeter aux orties…

    … et utiliser à la place ‘wp-load.php’ (‘wp-load point php’, au cas ou cette boite à commentaires, camembert, bidouillerait les codes en commentaires )

    Voilà, c’est tout ce que je sais, c’est en blanc sur noir (brr… sur le blog de l’adresse ci-dessus, et cela méritait je pense d’être ajouté.

    Si cela peut vous être utile…

    Bien amicalement,
    Michael

    1. Aurélien Denis auteur de l’article

      En effet, comme précisez plus haut, cette technique est fonctionnelle… mais c’est tout. Elle n’est guère très propre mais peut dépanner dans de nombreux cas. Il faudrait que je creuse un peu plus ton lien qui me paraît très intéressant. Merci !

  5. libredutabac.com

    Bonjour,

    Je ne vois pas de réponse à mes petites questions,
    je vous imagine en vacances…

    J’espère néanmoins avoir le plaisir de vous lire,
    sans avoir besoin, d’ici un an et un jour,
    d’aller sonner à la porte des objets trouvés.

    Quoi qu’il en soit,
    je vais probablement faire des économies d’énergie,
    il parait que le sujet est brûlant…
    en venant un peu moins souvent sur ce blog

    Je ramasse donc mes billes
    disséminées jusque là en de multiples petites questions.

    Autant de pièces d’un puzzle pour une unique solution.

    Je rappelle que ma question et ses petits satellites concernait :

    « Comment créer un Espace-membres dans Wp. »

    Après bien des recherches-casse-tête et des tâtonnements,
    exit donc ce « merveilleux » plugin « member_acces »,
    somme toute BIEN trop compliqué à synchroniser
    et SI mal commenté…
    J’ai tranché !

    Pas d’espace-membre en « pages wp », « privées » ou non,
    ou toute même solution (dite) de facilité
    (sauf lorsqu’il s’agit d’y faire connecter
    les membres d’une liste déjà « opt-in-misée »
    ou d’en planquer la substance aux petits voraces ‘spiders’ )

    … J’ai donc opté définitivement pour un script externe.

    Grâce aux bons soins du Tuto ci-dessus, merci « Wpchannel »…

    L’ennui, c’est que le code ci-dessus laisse un peu à désirer.

    J’ai donc dû batailler avec les « warning » et autres messages serveurs…

    Avant de vous tirer ma révérence,
    je voudrais offrir à la collectivité
    le fruit de mes tâtonnements,
    histoire de vous épargner ces mêmes petits tracas

    (le clinquant de l’emballage ne met pas pour autant à l’abri de petites erreurs… )

    Voici ce que j’ai trouvé après plusieurs tests et qui FONCTIONNE :

    1- VIRER des « 2 bouts de code (ci-dessus) :
    l’un pour le header (en-tête) et l’autre pour le footer (pied de page) »
    les deux ‘require(‘./wp-load.php’);’
    qui « plantent » lamentablement
    (un « include de include », c’est pas génial…)

    2- Remplacer de la même façon
    l’approximative syntaxe des
    include $_SERVER[‘DOCUMENT_ROOT’]. »/wp-content/themes/NOM_DU_THEME/header.php »;
    par des
    include(‘/chemin-absolu-du-serveur/wp-content/themes/NOM_DU_THEME/header.php’); // header
    ET de même, les
    include $_SERVER[‘DOCUMENT_ROOT’]. »/wp-content/themes/NOM_DU_THEME/footer .php »;
    par des
    include(‘/chemin-absolu-du-serveur/wp-content/themes/NOM_DU_THEME/footer .php’); // footer

    (… il faut bien sûr substituer aussi /NOM_DU_THEME/ de la manière ci-dessus, cela va sans dire )

    3- Pour rappel,
    /chemin-absolu-du-serveur/
    s’obtient
    en placant (FTP) à la racine de son serveur
    un petit fichier ‘realpath.php’
    contenant ce petit bout de code :

    On obtient une suite cabbalistique
    de répertoires & sous-repertoires
    correspondants à la racine du serveur.

    Ne pas oublier de virer ce fichier du serveur après usage :
    celui-ci constitue une faille potentielle de sécurité pour votre serveur.

    4- Créer un fichier ‘script.php’
    (ou toute autre appellation)
    contenant ce type de code :

    … où /chemin-relatif-du-fichier/ est donné par votre propre arborescence.

    (Ainsi, rien ne vous empêche par exemple de placer « header » & « footer » dans un repertoire /php/include/ ,
    « page » ailleurs dans /cequevousvoulez/include/ , et « script.php » dans /encoreailleurs/script.php …)

    Moyennant quoi, ça tourne

    Voilà, fin du (et probablement des) commentaire(s).

    Juste un détail, à ce propos :

    Je n’arrive pas à intégrer
    la fonction « commentaires »

    dans mon script.

    Il n’y a pas de bug,
    mais rien ne se passe ni n’apparaît.

    Quelqu’un(e) pourrait-il m’aider ?

    Merci infiniment.

    Bien cordialement,
    Michael

  6. libredutabac.com

    Ah, le charme sulfureux de la boite-à-camembert,
    je vois que le code a été « mangé »
    par la boite aux commentaires … :-|

    Je vous livre donc le détail des « trous »
    du message ci-dessus… :

    Pour le fichier ‘realpath’ :

    [ balise debut php] echo realpath (‘realpath point php’); [ balise fin php ]

    Pour le fichier ‘script’ :

    [ balise debut php]
    require (‘/chemin-absolu-du-serveur/wp-load.php’) ;
    include (‘/chemin-absolu-du-serveur/chemin-relatif-du-fichier/header.inc.php’) ;
    include (‘/chemin-absolu-du-serveur/chemin-relatif-du-fichier/page.inc.php’) ;
    include (‘/chemin-absolu-du-serveur/chemin-relatif-du-fichier/footer.inc.php’) ;
    [ balise fin php ]

    Espérons que ce rébus saura franchir les lignes…

  7. libredutabac.com

    C’est passé

    Quelqu’un(e) pourrait-il m’aider à présent
    à rendre la fonction commentaires
    comments_template()
    opérationnelle dans mon script ?

    Un espace membre avec commentaires,
    c’est quand même un must

    Merci beaucoup !

    … Et bonnes vacances

  8. libredutabac.com

    P.S :

    En simplifiant encore, concrètement, les deux bouts de code (supra) ne servent à rien… Voici le résultat final :

    [ balise debut php]
    require (‘/chemin-absolu-du-serveur/chemin-relatif-de-mon-blog-wordpress/wp-load.php’) ;
    include(‘/chemin-absolu-du-serveur/chemin-relatif-de-mon-blog-wordpress/wp-content/themes/NOM_DU_THEME/header.php’); // header du blog wp
    include (‘/chemin-absolu-du-serveur/chemin-relatif-du-fichier-corps-de-page/corpsdepage.inc.php’) ;
    include(‘/chemin-absolu-du-serveur/chemin-relatif-de-mon-blog-wordpress/wp-content/themes/NOM_DU_THEME/footer.php’); // footer du blog wp
    [ balise fin php ]

    Voilà. Ca fonctionne, effectivement.

    Allez, amusez-vous bien

    Re-PS : Qui d’autre ici pourrait m’expliquer comment lever le barrage de la fonction ‘wp_comments’ et ouvrir les commentaires sur ce type de page ?

    Merci.

    Cordialement.
    Michael

    1. Nop

      Merci pour cette info, mais j’ai regardé sur mon contenu WordPress et je ne trouve pas le « chemin-relatif-du-fichier-corps-de-page/corpsdepage.inc.php »
      Ni aucun fichier en *.inc.php.
      Pourrais-tu me donner un petit peu plus de précision, Merci

  9. libredutabac.com

    Bonjour Aurélien,

    Je saisis ta réponse à mon commentaire au vol. Merci

    En fait il semble que ‘wp-blog-header’ ne donne pas un résultat fiable. De plus cela impliquerait de devoir le charger deux fois, une fois dans le header, une fois dans le footer.

    ‘wp-load’ paraît plus fiable et stable. De plus, il permet un chargement en amont, donc une seule fois. Exit donc les « include de include »

    Pour le reste, il doit y avoir bien sûr des solutions plus « calées » et perfos, certes, mais pour les développeurs et les pros de l’informatique s’entend, ce qui n’est pas mon cas. Difficile de cumuler les domaines de compétences

    Pour un « amateur éclairé » de mon style, cela suffit

    Voilà. Merci pour ce petit commentaire.

    Bien amicalement,
    Michael

  10. libredutabac.com

    Re,

    Je suis désolé de paraître insister, mais… :-|

    En fait, l’objectif principal de ma manip, que celle-ci passe par des pages « privées », d’accès « réservé » ou par un espace membre « satellite », c’est de pouvoir créer un espace membre AVEC des COMMENTAIRES intégrés…

    Or, si tout ce qui est exposé ci-dessus fonctionne à présent bien, et pourrait parfaitement me satisfaire en tous points, le footer de Wp, revu & corrigé maison pour y intégrer le ‘wp_comments’, reste obtinément muet et fermé, c’est le vrai cas de le dire… No comments :-| !

    J’aurais besoin de me voir expliquer comment « débrider » cette fonction, afin de pouvoir commenter et laisser commenter mes pages « membres »…

    J’ai ratissé Google et je n’ai rien trouvé… :-((

    Qui d’autre ici aurait une idée de la chose ?

    Merci infiniment !

    Amicalement,
    Michael

    1. Aurélien Denis auteur de l’article

      Tu peux facilement autoriser les commentaires dans tes pages en cochant l’option dans l’éditeur. Il te faut ensuite vérifier que ton thème les prennent en charge avec la fonction relative aux commentaires. Regardes donc dans le fichier single.php.

  11. libredutabac.com

    Bonjour,

    En fait, ca y est, j’ai trouvé la solution

    C’était d’une simplicité enfantine…

    Je suis un peu limité par mon temps de connection ce soir (heure de la Martinique), un peu désolé, mais si cela intéresse quelqu’un, je suis prêt à passer aux aveux

    Mon truc fonctionne bien quoi qu’il en soit.

    Amicalement, merci, A+

    Michael

  12. libredutabac.com

    Bonjour,

    J’avais promis de « passer aux aveux » il y a qq temps…

    Alors voici

    J’enigme a résoudre alors était :

    « Un script externe pour Wp AVEC des commentaires ouverts ».

    J’ai trouvé « une » solution…

    Synthétiquement, en fait, il y a 4 configurations possibles en tout…

    Les voici :

    – Page Wp interne avec commentaires ouverts ;
    – Page Wp interne sans commentaires ;
    – Page externe à Wp sans commentaires ;
    – Page externe à Wp avec commentaires ouverts.

    Je passe rapidement sur les deux premieres,
    qui sont des configurations standard de Wp :

    Pour celles-ci, il suffit d’aller sur le tableau de bord :

    Pages > Cocher la case de « Ma page » > Actions groupées > Modifier > Appliquer > Commentaires
    La configuration passe par ces deux choix possibles, selon : « Autoriser » ou « Refuser » > Appliquer > Mettre a jour

    Une personnalisation de ces pages devient possible ainsi :

    [ balise debut php]
    /*
    Template Name: Pages Externes Sans Commentaires
    */
    // Ce script devient un modele de pages reconnu de Wp, il est a mettre comme tel dans le repertoire du theme
    include(‘header-membres.php’);
    // vers le header wp dédié, dans le meme repertoire du theme
    include (‘/chemin-absolu-du-serveur/chemin-relatif-du-fichier-corps-de-page/ma-page.php’) ;
    include(‘footer-membres.php’);
    // footer wp dédié
    [ balise fin php ]

    Pour la troisième configuration,
    nous reprenons ce simple petit bout de script ci-dessus,
    que nous modifions tout simplement ainsi,
    en lui enlevant son « Template Name »
    et en ouvrant une indispensable ligne require (‘/…/wp-load.php’).

    Voilà qui signe dès lors ce script comme étant un script externe :

    [ balise debut php]
    // Script externe a placer dans le repertoire de votre choix
    require (‘/chemin-absolu-du-serveur/chemin-relatif-du-blog/wp-load.php’) ;
    // à préférer à ‘wp-blog-header’, indispensable ici desormais
    include(‘chemin-absolu-du-serveur/chemin-relatif-du-theme/header-membres.php’);
    // vers le header wp
    include (‘/chemin-absolu-du-serveur/chemin-relatif-du-fichier-corps-de-page/ma-page.php’) ;
    include(‘chemin-absolu-du-serveur/chemin-relatif-du-theme/footer-membres.php’);
    // footer wp dédié
    [ balise fin php ]

    Quant à la quatrieme configuration,
    elle est bâtarde car,
    n’en déplaise aux puristes,
    elle passe « quand meme » par Wp…

    Mais elle a le mérite de fonctionner

    Eh oui !
    Bien sûr qu’elle passe par Wp…
    Tout comme les commentaires ! :-))

    Comme cette solution-ci me paraît assez créative,
    j’avais envie de vous en faire part, aussi.

    Il faut « quand meme » créer une page Wp « mapage » (ou  » « ),
    la laisser en blanc,
    et lui appliquer des commentaires autorisés comme ci-dessus…

    Eh oui… Pas de commentaires possibles
    sans une page attachée,
    ni de page sans son adresse IP…

    Sinon,
    les puristes pourront toujours se gratter,
    ca ne fonctionnera pas

    Maintenant,
    si vous savez comment créer
    une adresse IP de page sans page,
    dites-le nous…

    Pour le reste,
    il suffit de reprendre le petit bout de code ci-dessus.

    [ balise debut php]
    // Script externe a placer dans le repertoire de votre choix
    require (‘/chemin-absolu-du-serveur/chemin-relatif-du-blog/wp-load.php’) ;
    // à préférer à ‘wp-blog-header’, indispensable ici desormais
    include(‘chemin-absolu-du-serveur/chemin-relatif-du-theme/header-membres.php’);
    // vers le header wp
    include (‘/chemin-absolu-du-serveur/chemin-relatif-du-fichier-corps-de-page/ma-page.php’) ;
    include(‘chemin-absolu-du-serveur/chemin-relatif-du-theme/footer-membres.php’);
    // footer wp dédié
    [ balise fin php ]

    La seule modif a apporter en fait,
    c’est de bidouiller un peu notre footer dédié
    avec ce bon vieux Notepad/++
    en y insérant tout en haut :

    [ balise debut php]

    the_post();
    // pas de commentaires sans posts
    comments_template();
    // ouverture des commentaires
    [ balise fin php ]

    Et c’est tout.

    Bon, il faudra encore jongler un petit peu
    avec les « div » et autres classe de la mise en page,
    mais l’essentiel est résolu.

    Vous direz :

    « Ok, c’est bien joli,
    mais cela voudrait dire
    un script ET une page Wp par page,
    où est l’intérêt ?

    Vous avez raison,
    cela n’en présente aucun

    A moins que…

    A moins que nous imaginions
    notre page comme un cadre vide
    (avec des commentaires :),
    une sorte de ‘podcast’
    (ou de ‘pot-de-fleur’
    dans lequel viendraient défiler
    des pages distantes
    (hors de wordpress)…

    En triturant un peu notre code ci-dessus,
    voici ce que cela pourrait donner :

    [ balise debut php]
    // Script externe a placer dans le repertoire de votre choix
    require (‘/chemin-absolu-du-serveur/chemin-relatif-du-blog/wp-load.php’) ;
    // indispensable desormais
    include(‘chemin-absolu-du-serveur/chemin-relatif-du-theme/header-membres.php’);
    // vers le header wp
    include (‘/chemin-absolu-du-serveur/chemin-relatif-du-fichier-corps-de-page/page[i].inc.php’) ;
    // où [i] représente un indice de page(s) repertoriées dans un tableau
    include(‘chemin-absolu-du-serveur/chemin-relatif-du-theme/footer-membres.php’);
    // footer wp dédié
    [ balise fin php ]

    Jusque là, ça va… ?

    Alors maintenant,
    comment pointer vers la page[i] souhaitée ?

    Il convient de cuisiner un peu de php,
    toujours à partir de cet ingrédient de base ci-dessus.

    Voici une des recettes possibles à mijoter :

    [ balise debut php]
    // creation d’un tableau definissant une variable de lien ‘lk’ */

    $lk[$i] = Array();
    $lk[1] = « page1 »; // votre premiere page
    $lk[2] = « page2 »; // nommée a votre convenance
    /* etc. Attention ne laissez pas de « trous » entre les pages,
    * car cela constitue une (petite) faille de securite serveur… */
    $lk[n] = « pagen »; // votre derniere page

    /**
    * Pour extraire ce tableau hors du script,
    * on peut aussi le placer ailleurs
    * dans un fichier externe à appeler ici avec
    * require_once(‘‘/chemin-absolu-bla-bla-bla/’);
    */

    /**
    * Cette variable de lien ‘lk’ va etre passee en get
    * dans une url de la forme ../script.php/?lk=’i’,
    * où script.php est ce present script a nommer a notre guise
    * et ‘i’ est notre ‘variable-pilote’, de 1 à n
    * correspondant aux indices
    * du tableau de liens ci-dessus
    */

    // A present il faut placer un minimum de « fusibles »…

    /**
    * Controles de porte – Objectifs :
    * Tester le tableau GET du lien
    * S’assurer que [i] de ‘lk[i]’ est bien bornée entre 1 et n
    * pour interdire toute requete hors de ces limites,
    * c’est meilleur pour la securite serveur
    */

    if (isset($_GET[‘lk’])) {
    // teste la presence de la variable-pilote du lien dans le tableau get
    $i = $_GET[‘lk’];
    // definit cette ‘variable-pilote’
    }
    elseif (!isset($_GET[‘lk’])) {
    // si le lien est vide allons faire un petit tour en premiere page…
    $i = 1;
    /**
    * par defaut notre ‘variable-pilote’ sera 1, premiere page,
    * à supposer que la premiere page soit une table des matieres…
    * mais nous pourrions aussi decider d’envoyer le visiteur ailleurs
    */
    }
    else {
    // pour finir de coder proprement
    }

    // on teste alors la valeur de la variable de lien selon les limites de notre tableau :

    if ($i >= 1 && $i n) { // ne pas oublier de fermer les structures de controle, n en clair of course
    header(« Location: http://va-te-promener-dans-les-choux« ); // exit
    exit;
    }
    else { // exit du pareil au meme
    header(« Location: http://exit« ); // idem
    exit;
    }
    // et pour finir en beauté
    header(« Location: http://exit« ); // idem
    exit;
    [ balise fin php ]

    Et tout ca fonctionne

    Nous pourrions pour conclure
    pimenter encore un peu la recette
    en décidant de cuire nos pages à l’étouffée
    en papillote dans une session

    [ balise debut php]
    session_start(); // ouverture de la session

    /**
    * ici une structure de controle presupposant
    * que nous avons au prealable dans notre script « login.php »
    * defini une variable-test d’ouverture de session
    * $_SESSION[‘start’] = ‘ce-que-vous-voulez’;
    * par exemple $_SESSION[‘start’] = time();
    */

    if (!isset($_SESSION[‘start’]) || $_SESSION[‘start’] == «  ») {
    // pas de session -> du balai !
    $_SESSION = array();
    unset($_SESSION);
    session_unset();
    session_destroy(); // on ecrase la session
    header(« Location: http://va-te-faire-voir/« ); // bye bye
    exit; // ben voyons
    }

    else if (isset($_SESSION[‘start’]) && !empty ($_SESSION[‘start’])) { // si present et pas vide -> alors ok

    [ Inserer ici tout le script ci-dessus ]

    }
    else { // fermeture de la structure de controle
    $_SESSION = array();
    unset($_SESSION);
    session_unset();
    session_destroy(); // petit coup de balai
    header(« Location: http://exit« ); // idem
    exit;
    }
    /**
    * et pour finir en beauté
    * ne pas oublier de mettre de meme :
    * $_SESSION = array();
    * unset($_SESSION);
    * session_unset();
    * session_destroy(); // balai
    * header…
    * exit;
    * dans CHAQUE sortie de boucle
    */
    [ balise fin php ]

    Et voilà, le tour est joué…

    N’oubliez pas de mettre sur vos pages
    un petit bouton ou lien « deconnection »
    envoyant vers un petit script logout.php :

    [ balise debut php ]
    // script logout
    $_SESSION = array();
    unset($_SESSION);
    session_unset();
    session_destroy(); // coup de balai
    header(« Location: http://redirection-ou-vous-voulez« );
    exit;
    [ balise fin php ]

    Je vous laisserai jouer à présent avec la partie « login.php »

    Ah, oui, juste un dernier petit détail, j’allais oublier…

    WordPress n’accepte pas les sessions.

    Sauf si…

    Sauf si nous insérons,
    en PREMIERE ligne
    du ‘wp-config.php’
    ceci :

    if (!session_id())
    session_start();

    Voilà.

    Et espérant que tout ceci puisse vous etre utile…

    … Et merci de votre patience
    pour m’avoir lu jusque ici,
    bonne fin de vacances !

    Bien cordialement,
    Michael

  13. fouz

    Alors voilà j’aimerais intégré un script php dans un site wordpress, dc en récupérant le header , sidebar et footer du site comme vous le proposez ds ce tuto mais j’ai essayé ce code et à chaque fois il me met un warning et une fatale error sur le require, j’ai tt essayé ms tjrs la meme erreur alors svp aidez moi!!merci

    1. Aurélien Denis auteur de l’article

      Désolé mais je ne peux pas vous aider… il faudrait avoir accès au site et voir de quel script il s’agit.

      Bref, soit en demandant de l’aide sur le forum de WordPress francophone, soit en vous adressant à un professionnel.

  14. Gilles

    Merci pour ce tuto, mais j’ai regardé sur mon contenu WordPress et je ne trouve pas l’emplacement du « chemin-relatif-du-fichier-corps-de-page/corpsdepage.inc.php »
    Ni aucun fichier en *.inc.php.
    Pourriez-vous me donner un petit peu plus de précision, Merci

      1. Gilles

        Citation:
        Le 6 août 2011 à 14 h 31 min, libredutabac.com a dit :
        P.S :

        En simplifiant encore, concrètement, les deux bouts de code (supra) ne servent à rien… Voici le résultat final :

        [ balise debut php]
        require (‘/chemin-absolu-du-serveur/chemin-relatif-de-mon-blog-wordpress/wp-load.php’) ;
        include(‘/chemin-absolu-du-serveur/chemin-relatif-de-mon-blog-wordpress/wp-content/themes/NOM_DU_THEME/header.php’); // header du blog wp
        include (‘/chemin-absolu-du-serveur/chemin-relatif-du-fichier-corps-de-page/corpsdepage.inc.php’) ;
        include(‘/chemin-absolu-du-serveur/chemin-relatif-de-mon-blog-wordpress/wp-content/themes/NOM_DU_THEME/footer.php’); // footer du blog wp
        [ balise fin php ]

        Voilà. Ca fonctionne, effectivement.

        D’ou ma question ou se trouve l’emplacement du « chemin-relatif-du-fichier-corps-de-page/corpsdepage.inc.php » ???

        Merci

  15. Arnaud

    Bonjour,

    Merci pour votre astuces que j’ai utilisé dernièrement. J’ai cependant un petit soucis. Comment faire pour gérer les titles et balises méta des pages intégrés

  16. ever

    Bonjour, j’ai bien lu votre article et je suis perdu… Je viens de télécharger le fichier agb (http://www.alexguestbook.net/) Dans ce dossier téléchargé il ya plein de sous dossier.
    Je souhaite intégrer cette application php dans une page wordpress. Please pouvez vous m’expliquer pas à pas ce que je dois faire. En me disant 1 où dans quel dossier je dois intégrer le dossier téléchargé dans filzilla ? puis m’expliquer ce que je dois faire. Ce serait vriament génial de votre part !

  17. Sidoine

    Merci pour cette partage de connaissance. j’ai utilisé avec succes votre téchnique pour ecrire un script php. tout fonctionne bien sauf la rediréction faite avec
    header(« Location: « .$url);
    exit();

    j’ai l’erreur « Cannot modify header information – headers already sent by…..)
    assi bien avec require(‘./wp-blog-header.php’); qu’avec require(‘./wp-load.php’);

    QUE DOIS JE FAIRE SVP?

  18. pierrot

    Bonjour,
    J’ai crée un fichier php (create_xml.php) qui récupère certaines infos d’un article pour créer un fichier xml (que j’utilise par ailleurs via un admin personnalisé).
    J’aimerai lancer automatiquement ce fichier lors de la publication (ou modification/ mie à jour) d’un article pour mettre à jour le fichier xml également.

    Avez-vous une idée à me donner pour le faire ? (quelle fonction ajouter ? )
    Merci de votre aide

  19. Souma

    Merci beaucoup pour toutes ces infos. Est-il possible de savoir comment insérer un code (php, js, css,etcc) dans une page WordPress? Merci

Laisser un commentaire

Thèmes & Plugins
Premium By WP Channel

WP Alacarte propose des produits et services de qualité
made in France pour la plateforme WordPress.

Tout est prêt pour créer votre site à la carte !

  • Thèmes et extensions premium
  • Facilité d’utilisation garantie
  • Temps de chargement optimisé
  • Personnalisation avancée
Découvrir

Rejoignez la communauté WordPress !

Faites partie de l’aventure en devenant membre d’une association WordPress. Conférences, ateliers, BarCamp, WordCamp… Venez
partager votre passion pour WordPress !

Aurélien DENIS,
président des associations WordPress Francophone et WPMX