Appeler des fonctions wordpress en dehors du blog – 2

Marie-Aude

J'ai fait de la compta, de la finance, du juridique, j'ai été chef de projet SAP, j'ai fait de la photo, des voyages. Depuis 2007, je fais avec amour des sites webs pour les utilisateurs, qui se référencent bien et je vous aide à acquérir du trafic pertinent.

Vous aimerez aussi...

12 réponses

  1. adrien dit :

    Merci beaucoup =)

  2. dip dit :

    Salut, as-tu trouvé une solution pour activer les plugins?

  3. Jérémy dit :

    Il faut inclure le fichier wp-load.php pour charger les fonctions de WordPress. Voici le code que j’insère au tout début des fichiers PHP lorsque j’ai besoin d’utiliser des fonctions de WordPress:

    <?php $file = 'wp-load.php'; $i = 0;
    while ((!file_exists($file)) && ($i < 8)) { $file = '../'.$file; $i = $i + 1; }
    include_once $file;

    L’intérêt de ce code, c’est qu’il fonctionne pratiquement à tous les coups quel que soit l’emplacement du fichier, grâce à la boucle.

  4. Greg dit :

    Bonjour,
    Désolé de déterrer ce topic qui dormait depuis un moment mais je planche sur le problème de l’intégration depuis des jours et je n’arrive à rien ! Si j’en crois tous les sujets que j’ai consulté, vous êtes à l’aise avec le procédé et avez aidé beaucoup de monde. Mais j’avoue que je n’arrive pas vraiment à m’y retrouver dans la masse d’informations.

    J’ai bien intégré le code PHP ci-dessus et le “require” semble avoir fonctionné pourtant la page devant contenir le blog reste vide. Je suppose qu’il faut que j’y intègre d’autres choses, mais quoi ? Ce n’est précisé sur aucun forum d’aide. J’ai essayé d’intégrer index.php sans succès : Warning: Cannot modify header information – headers already sent by (output started at /home/yatacrea/www/index.php:108) in /home/yatacrea/www/wordpress/wp-includes/pluggable.php on line 1121

    Concrètement je ne veux faire apparaître que les articles et les commentaire sur ma page “blog”.

    Pourriez-vous m’en dire un peu plus sur la manipulation svp ?

    • Marie-Aude dit :

      Une fois que vous avez chargé les fonctions du blog, il est effectivement inutile de charger index.php qui charge tous les fichiers. La page “devant contenir le blog” doit avec un template défini, avec des fonctions qui chargent et affichent les différents articles. C’est ce qui se passe, par exemple, dans le fichier index.php d’un thème (et pas de wordpress). A vous de la créer en fonction de vos besoins, vous avez tous les outils nécessaires sous la main.

  5. Greg dit :

    Merci beaucoup pour votre réponse rapide. Visiblement ça s’annonce donc plus compliqué qu’une simple intégration php :-/ Le site contenant le blog n’est pas un WordPress, donc pas de template applicable, il va falloir que je trouve une solution manuelle.

    PS : je crois qu’il y a un bug sur votre blog, le dernier commentaire n’apparaît qu’une fois qu’un nouveau a été posté. C’est assez étrange. (testé sur Chrome et FF)

    • Marie-Aude dit :

      Oui je sais, c’est bizarre, je pense que c’est dû à un réglage du cache sur les articles anciens.
      En fait l’objectif de l’intégration des fonctions wordpress c’est exactement ça : dans un site Prestashop, rajouter une sidebar wordpress, dans un site “autre” rajouter des éléments.

      Par exemple, sur le site que je faisais quand j’ai plongé là dedans, http://www.mezgarne.com, le blog est en sous répertoire http://www.mezgarne.com/maroc/blog mais une page comme est faite avec les fonctions wordpress pour lister les derniers articles du blog. De la même façon, sur la page https://o-maroc.com/lieux/marrakech.php, le carré de gauche “et sur le blog” utilise les fonctions wordpress.

      Après rien ne vous empêche de reprendre des templates de base de thèmes “sans style” (sandbox, que j’utilise sur Mezgarne, bootstrap, zen) et d’utiliser les morceaux qui vous intéressent dans votre site.

      Après il est toujours possible de voir plus en détail votre problème et ce que vous cherchez à faire, mais dans ce cas envoyez moi un message via le formulaire de contact

  6. Greg dit :

    Vos commentaires m’ont aiguillé sur la bonne voie et je suis enfin arrivé à quelque chose ! Comme vous le suggériez j’ai installé un thème minimaliste et je le retravaille pour qu’il s’adapte correctement (pas facile de faire cohabiter les CSS du site et du blog !)
    Je pense pouvoir m’en sortir maintenant. Merci beaucoup pour votre patience et votre savoir faire !

    Vu les difficultés que j’ai eu pour en arriver là je vais laisser un mini récap’ pour les futurs naufragés qui atterriront ici :

    1 – Copier le code suivant entre les balises de votre site (penser à adapter le chemin du fichier wp-config.php) :
    init();
    $wp->parse_request();
    $wp->query_posts();
    $wp->register_globals();
    ?>

    2 – Installer un thème WordPress “basique” ou s’adaptant à vos besoins.

    3 – Copier/coller le contenu du fichier index.php du thème (et non pas ceux de WordPress !) dans votre page qui doit accueillir le blog.

    4 – Modifier les divers fichiers du thème (toujours pas ceux de WordPress !) pour adapter le blog à votre site. Bon courage avec les CSS car de nombreux conflit interviennent entre les styles du site et du blog.

    • Marie-Aude dit :

      Merci à vous :)
      Pour les css je n’avais pas eu de problème, mais la feuille de style de sandbox était plus qu’hyper minimaliste… ce n’est plus le cas maintenant.
      Question quand même pourquoi ne pas faire la totalité du site en WP ?

      • Greg dit :

        Mon site est déjà développé depuis longtemps donc j’ai un peu la flemme de le refaire sur WordPress surtout que je ne maîtrise pas assez l’outil pour faire un site complet dessus. Vous pensez que ça aurait facilité les choses ?

        J’ai un petit soucis avec les liens sur le blog… ils renvoient tous à mon dossier de blog, du coup on quitte le site dès qu’on ouvre un article :( J’ai vu que vous n’aviez pas ce problème sur votre site bien que les articles de blog renvoient au dossier “blog” mais je ne comprends pas comment vous vous y êtes prise. Avec des réécritures d’url peut-être ?

        • Marie-Aude dit :

          Oui je pense que ça faciliterait nettement les choses, d’après ce que j’ai vu il n’est pas hyper complexe. A l’époque où j’ai fait le site de Mezgarne, j’ai fait cette erreur (ne pas passer tout d’un coup sur WordPress), et je le regrette aujourd’hui, il faut absolument que je le migre et c’est nettement plus compliqué.
          Je n’ai aucune réécriture d’url, j’ai défini dans les paramètres généraux l’url du blog avec le /blog/ et j’utilise la fonction permalink normale. Les autres liens sont écrits en absolu, avec le préfixe http , sinon WordPress les transforme en liens internes au blog

  7. Sabrina dit :

    Bonjour,

    Alors je vais commencer par dire que, bien que je comprends vite et que parfois j’arrive à faire toute seule les choses assez complexe sans chercher une notice, là je sens que pour ce que je souhaiterais c’est beaucoup plus difficile car il faut (si je comprend bien) intégrer des codes et là je sèche complet!

    Pour faire simple, je viens de créer un site d’art ou je voudrais que se soit un site ou il y a les pages “accueil”; “a propos” etc… avec une page qui redirigera les abonnés sur un blog où ils auront la possibilité de s’enregistrer via un mot de passe etc… pour poster leurs œuvres (c’est un site / blog sur le dessin et la peinture plus précisément).

    Alors pour l’instant, dans mon menu j’ai intégrer le bouton “blog” mais evidemment, il n’y a encore rien parce que je ne sais pas comment faire pour comme tous les sites (le votre par exemple), le mien ait la partie blog où quand ont clique dessus il y est ce que je voudrais.

    Il faudrait m’expliquer très en détail comment fait-on.

    J’ai installé mon site wordpress directement via l’hébergeur OVH.

    Je vous remercie d’avance pour votre réponse.

    Sabrina

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *