[Résolu] Inclure PHP dans un article
Poischiche1
Member
Bonjour à tous !
Aujourd'hui, j'ai essayé d'inclure du code PHP dans un article.
J'ai l'éditeur de texte CKEditor.
J'ai donc cliqué sur "Source" et écris mon code :
Quelqu'un sait comment faire pour résoudre ce problème ?
Aujourd'hui, j'ai essayé d'inclure du code PHP dans un article.
J'ai l'éditeur de texte CKEditor.
J'ai donc cliqué sur "Source" et écris mon code :
[== PHP ==]
<?php
echo "hello !" ;
?>
J'ai enregistré et j'ai alors regardé dans source. Mon code s'était transformé en :
[== PHP ==]
<!--?php
echo "hello !" ;
?-->
Quelqu'un sait comment faire pour résoudre ce problème ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Le PHP est interprété avant de procéder à l'extraction des variables, c'est pourquoi le champ ne peut pas être "exécuté" comme un programme mais simplement affiché. Des trucs comme des shortcodes ou autres peuvent permettre de tricher et d'extraire un bout de texte qui "relance" un autre programme mais c'est plus complexe que de simplement inscrire le code. Par opposition, le gabarit d'une page peut contenir toutes formes de codes et permettre toutes les fantaisies désirées.
Si on a une idée de ce qui est souhaité, on pourra peut-être guider un peu et donner des solutions possibles.
Et s'il a cliqué sur le lien (dans l'url : ?clic=oui), un message s'affiche. Sinon, s'il scroll juste, un autre message apparait.
À moins de passer en AJAX, quand une page est chargée, elle est contenue au complet dans le navigateur. On peut en cacher et découvrir certaines parties mais elles étaient toujours là. Si quelque chose de conditionnel fait afficher ou pas une partie du texte, c'est fait immédiatement à l'arrivée de la page.
Pour ces raisons, ton test peut très bien être fait dans le gabarit de page en ne laissant que le contenu de l'article dans le champ prévu.
Je vais te laisser monter les pages et les mettre enligne, on pourra parler avec des exemples précis. Le test pourra être inséré quand on comprendra ce qui est nécessaire pour que ça fonctionne.
En voyant la page, le comportement, le "problème" du comportement qui ne fait pas exactement ce qu'on voudrait, etc. Ça permettra de donner tout de suite les options possibles.
http://pistak.fr/bricabrac/index.php?categorie21/test
Si la page d'article (la vraie) est trop longue pour une seule page, ma solution dans un tel cas est de créer tout simplement une page "Blabla (page 2)" qui aura son contenu commençant à la bonne prochaine ligne de cette longue histoire. Il est alors très facile d'insérer au bas du premier article un lien en dur vers cette page 2.
La solution semble arriver avant d'avoir un problème. Quelle situation désagréable pour le visiteur voulons-nous éviter ici?
En attendant la réponse, reprenons les morceaux de PluXml. Une page de catégorie classique donne un aperçu d'un article sous forme de contenu de son chapô. Un lien du genre "Lire la suite de l'article" pointe vers la page d'article qui contient (ou pas) le chapô mais certainement le contenu du corps de texte. Si la page d'article est longue mais contient des ancrages dans ce long contenu, un lien en dur peut être inséré n'importe où, dans un chapô, un corps de texte, un contenu de page statique, même dans un gabarit à la rigueur.
J'aimerais insérer un lien dur dans le chapô. Ce lien sera vu par les visiteurs qui le verront sur l'accueil (je l'avais mis sur une page de catégorie pour ne pas déranger le fonctionnement de mon site), vu qu'il ne verront que le chapô avec le lien. Ils cliquent sur le lien -> url_article?clic=oui.
Ce lien les amène donc à la page de l'article, comme le ferait un bête "lire la suite". Mais en plus ce lien vehicule quelque chose dans son url : "clic=oui" qui veut dire qu'on a cliqué sur le lien et pas sur le "lire la suite".
Ensuite, en PHP, je fais une vérification : si il y a "clic=oui", alors j'écris "vous avez cliqué sur le lien et pas sur 'lire la suite' !"; sinon, j'écris "vous avez cliqué sur 'lire la suite' et pas sur mon lien !".
Sauf que je ne peux pas utiliser du PHP dans mon article et donc pas exécuter cette interaction.
Pourquoi le changer? si tu veux une question plus simple.
Je suis passé en JavaScript et j'ai ainsi pu faire la même chose.
EDIT : le code pour les intéressés...
Sinon pour insérer directement un fichier php, tu as la solution proposée par Stéphane:/inclure-un-fichier-php-stocke-dans-le-dossier-de-son-theme