Afficher les derniers commentaires sur pages d'accueil

WRInaute impliqué
Bonjour,

Via WordPress, je suis entrain de faire quelques modification de mon site ... notamment de la page d'accueil

Je voulais rajouter un tableau dans lequel il y aurait d'un côté les derniers sujets et de l'autre les derniers commentaires. Je ne sais pas comment mettre en place les derniers commentaires ...
(site cheloniophilie.com ==>> page d'acceuil)

Code:
<table width="100%" border="1" cellspacing="3" cellpadding="9">
  <tr>
    <td width="50%"><!-- ddlastfromeach --></td>
    <td width="50%"><?php wp_widget_recent_comments(); ?></td></tr>
</table>

Normalement il est pas possible d'insérer du php ... alors comment faire ?
 
WRInaute impliqué
je suis d'accord avec toi ... je pensais effectivement à un plugin mais je ne trouve pas ...ils utilisent tous les widget et je ne veux que sur la page d'accueil dans le contenu ..

Une idée sur un plugin ?
 
WRInaute accro
Et si tu codais "en dure" ta page d'accueil avec une balise conditionnelle ? Tu pourrais y mettre le code que tu veux et ça éviterait deux plugins.
 
WRInaute accro
cheloniologue a dit:
je suis d'accord avec toi ... je pensais effectivement à un plugin mais je ne trouve pas ...ils utilisent tous les widget et je ne veux que sur la page d'accueil dans le contenu ..

Une idée sur un plugin ?
Et alors ?
Tu fais un template de page d'accueil, tu crées une "sidebar" spécifique pour ta page d'accueil, que tu mets où tu veux, et tu insères tes widgets
 
WRInaute impliqué
Marie-Aude a dit:
cheloniologue a dit:
je suis d'accord avec toi ... je pensais effectivement à un plugin mais je ne trouve pas ...ils utilisent tous les widget et je ne veux que sur la page d'accueil dans le contenu ..

Une idée sur un plugin ?
Et alors ?
Tu fais un template de page d'accueil, tu crées une "sidebar" spécifique pour ta page d'accueil, que tu mets où tu veux, et tu insères tes widgets
Ok ... c'est un peu chinois pour moi ... ça doit pouvoir se travailler ... mais il n'y a pas tout bêtement un plugin ? (rhooo pourtant il y a tout et n'importe quoi d'habitude... snif :cry: )
 
WRInaute accro
Fait attention au positionnement de ta page qui va prendre une claque avec ce genre de pratique.
Si tu as travaillé le contenu de l'accueil et optimisé la page pour être présent sur certaines requêtes tu risque fort a cause des commentaires de sortir du cadre.
En revanche une portion d'actualité sous ton contrôle avec des liens ça se gère plus facilement.
Je te dis cela d'expérience, le contenu utilisateur a l'accueil c'est pas forcement le bon plan (si c'est du texte).
 
WRInaute impliqué
En fait si tu veux ... il y a de plus en plus d'internautes qui ne veulent plus s'inscrire sur les forums mais préfèrent directement poser leurs questions dans les commentaires du site. Il y a aussi de plus en plus de personnes qui se mettent à y répondre directement.

Donc je voulais développer cette partie. Le problème majeur est que le site possède une sacré grosse quantité de pages et donc il est difficile de savoir quelles ont été les dernières questions dans les commentaires. Si tu regarde la page d'accueil actuellement, j'ai préparé un tableau, je compte mettre d'un côté les derniers articles et de l'autre les dernières questions. De toute façon cela parlera de tortues ... donc bon c'est pas génant pour le référencement

Maintenant c'est quel est le plugin capable de gérer ça ...
 
WRInaute impliqué
En fait j'ai déjà un template pour la page d'accueil :
Code:
<?php get_header(); ?>

<div id="content">

		<?php get_sidebar(); ?>

		<div class="content-inner">

			<?php get_sidebar('right'); ?>

			<div id="contenu-principal">

		  	<!--<h1>Resultat de recherche pour <?php echo single_cat_title(); ?></h1>-->

			<!-- moteur de recherche //-->
			<?php get_search_form(); ?>

		  	<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

				<div class="post" id="post-<?php the_ID(); ?>">
				  <h3><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>

				  <div class="entry">
					<?php the_excerpt(); ?>
					<?php edit_post_link(__('Edit', ''), "- <span class=\"edit-link\">", "</span>"); ?>
				  </div>
				</div>

			<?php endwhile; ?>

							<div id="bas-page">
							<img src="http://www.cheloniophilie.com/AnnonceFB50.jpeg" alt="" width="468" height="100" />
							<p id="contact"><a href="mailto:cheloniologue2004@yahoo.fr">Contact Webmaster</a></p>
							<p id="infos">Toute utilisation du contenu du site www.cheloniophilie.com sans autorisation &eacute;crite pr&eacute;alable du webmaster constitue une violation du droit d'auteur.</p>
							</div>

			<div class="navigation">
  				<span class="alignleft"><?php next_posts_link('&laquo; Pr&eacute;c&eacute;dent') ?></span>
  				<span class="alignright"><?php previous_posts_link('Suivant &raquo;') ?></span>
			</div>

		  <?php else : ?>

		  	<h3>Aucun document ne correspond aux termes de recherche sp&eacute;cifi&eacute;s.</h3>
            <!-- moteur de recherche //-->
			<?php get_search_form(); ?>

		    <?php endif; ?>

		</div><!-- #contenu-principal -->
	</div><!-- #content-inner -->
</div><!-- #content -->

<?php get_footer(); ?>
 
WRInaute impliqué
Donc en fait si je comprends bien ... je dois enlever ce qui apparait dans <div contenu principal>
Code:
<div id="contenu-principal">

		  	<!--<h1>Resultat de recherche pour <?php echo single_cat_title(); ?></h1>-->

			<!-- moteur de recherche //-->
			<?php get_search_form(); ?>

		  	<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

				<div class="post" id="post-<?php the_ID(); ?>">
				  <h3><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>

				  <div class="entry">
					<?php the_excerpt(); ?>
					<?php edit_post_link(__('Edit', ''), "- <span class=\"edit-link\">", "</span>"); ?>
				  </div>
				</div>
Par le code html de la page d'accueil et dans laquelle j'intègre la fonction php du widget ... c'est bien ça ?
 
WRInaute accro
Tu devrais plutôt prendre quelques heures, si tu en as le temps, pour éplucher le codex et fabriquer un petit bout de code pour afficher ça. Beaucoup de plugins ajoutent des requêtes et du code qui ne te seront pas utiles, surchargeant pour rien ta page et/ou son chargement ;)
 
WRInaute impliqué
Oui justement, c'est ce que j'essaie de faire... donc faire ce que Maris-Aude me propose (toujours de bons conseils cette Marie-Aude).

C'est à dire avoir un template de la page d'accueil (c'est ce que j'ai a priori (le premier code)).
Dans ce template je vais donc faire ma page d'accueil en dur. Et je dois donc insérer le code html + les fonctions php associées dans les endroits désirés ... jusque là je pense que je suis dans le bon axe ... non ?
 
WRInaute accro
Ouep, c'est exactement ça.
Tu peux bricoler le fichier page.php de ton template en insérant des balises conditionnelles, qui n'afficheront certaines choses que sur la page d'accueil. :)
 
WRInaute impliqué
Bon, alors reprenons petit à petit ...
J'ai un template qui s'appelle "modèle page accueil"
1333295830-page-accueil.jpg

Son code est le suivant :
Code:
<div id="content">

		<?php get_sidebar(); ?>

		<div class="content-inner">

			<?php get_sidebar('right'); ?>

			<div id="contenu-principal">

		  	<!--<h1>Resultat de recherche pour <?php echo single_cat_title(); ?></h1>-->

			<!-- moteur de recherche //-->
			<?php get_search_form(); ?>

		  	<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

				<div class="post" id="post-<?php the_ID(); ?>">
				  <h3><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>

				  <div class="entry">
					<?php the_excerpt(); ?>
					<?php edit_post_link(__('Edit', ''), "- <span class=\"edit-link\">", "</span>"); ?>
				  </div>
				</div>

			<?php endwhile; ?>

							<div id="bas-page">
							<img src="http://www.cheloniophilie.com/AnnonceFB50.jpeg" alt="" width="468" height="100" />
							<p id="contact"><a href="mailto:cheloniologue2004@yahoo.fr">Contact Webmaster</a></p>
							<p id="infos">Toute utilisation du contenu du site www.cheloniophilie.com sans autorisation &eacute;crite pr&eacute;alable du webmaster constitue une violation du droit d'auteur.</p>
							</div>

			<div class="navigation">
  				<span class="alignleft"><?php next_posts_link('&laquo; Pr&eacute;c&eacute;dent') ?></span>
  				<span class="alignright"><?php previous_posts_link('Suivant &raquo;') ?></span>
			</div>

		  <?php else : ?>

		  	<h3>Aucun document ne correspond aux termes de recherche sp&eacute;cifi&eacute;s.</h3>
            <!-- moteur de recherche //-->
			<?php get_search_form(); ?>

		    <?php endif; ?>

		</div><!-- #contenu-principal -->
	</div><!-- #content-inner -->
</div><!-- #content -->

<?php get_footer(); ?>

J'ai voulu prendre le contenu html de la page d'accueil réelle et faire ainsi une transposition :
Texte page d'accueil :
Code:
<h2>Introduction sur les tortues</h2>
<p><img class="alignright" src="../logo-tortue.jpeg" alt="Tortue" width="263" height="264" hspace="10" />Les <strong>tortues</strong> sont des animaux fascinants par leur aspect primitif et leur facilité d'adaptation dans différents milieux naturels comme dans le désert ou les steppes de Russie. Actuellement, on dénombre près de 330 espèces de tortues et de nombreuses sous-espèces réparties sur 4 continents. Les <strong>tortues</strong> ont donc évolué au fil des millénaires et peuvent être terrestres, aquatiques ou marines. Leur taille et leur poids sont aussi très différents comme par exemple la <strong><a href="../Photos/Dermochelys-coriacea.php">tortue luth</a> </strong> qui peut atteindre 1 tonne, la <strong><a href="../Fiches/Dipsochelys-elephantina.php">tortue des Galapagos</a></strong> peut faire 350 kg alors que d'autres espèces ne dépassent pas les 800 gr comme <strong> <em><a href="../Fiches/Testudo-kleinmanni.php">Testudo kleinmanni</a></em></strong>.</p>
<h2>Définition du mot tortue</h2>
<p><em>Nom générique désignant un <strong>reptile</strong> de forme généralement ovale présentant une carapace osseuse et écailleuse d'où sortent une tête munie d'un bec corné, deux paires de courtes pattes ou de nageoires ainsi qu'une queue. (Les <strong>tortues</strong> constituent l'ordre des <strong>chéloniens</strong>)</em></p>

<table width="100%" border="1" cellspacing="3" cellpadding="9">
  <tr>
    <td width="50%"><!-- ddlastfromeach --></td>
    <td width="50%"></td></tr>
</table>

<h2>Objectif du site <a href="../">www.cheloniophilie.com</a></h2>
<p>Ce site est créé dans le but de présenter une partie des <strong>tortues</strong> que l'on retrouve sur notre planète. La tortue, cet animal très sauvage, n'est malheureusement pas assez connu du grand public.</p>

<p>C'est à partir des informations contenues dans <a href="http://www.cheloniophilie.com/Fiches/" title="Fiches d'informations et de présentation des espèces de tortues">les fiches des espèces</a> que vous découvrirez les tortues et le mode de vie de chacune d'elles. Vous participerez donc à leur sauvegarde par la même occasion.</p>

<p>Je vous souhaite une agréable visite sur le site des passionnés de tortues.</p>

Transposition de l'un dans l'autre :
Code:
<div id="content">

		<?php get_sidebar(); ?>

		<div class="content-inner">

			<?php get_sidebar('right'); ?>

			<div id="contenu-principal">
<h2>Introduction sur les tortues</h2>
<p><img class="alignright" src="../logo-tortue.jpeg" alt="Tortue" width="263" height="264" hspace="10" />Les <strong>tortues</strong> sont des animaux fascinants par leur aspect primitif et leur facilité d'adaptation dans différents milieux naturels comme dans le désert ou les steppes de Russie. Actuellement, on dénombre près de 330 espèces de tortues et de nombreuses sous-espèces réparties sur 4 continents. Les <strong>tortues</strong> ont donc évolué au fil des millénaires et peuvent être terrestres, aquatiques ou marines. Leur taille et leur poids sont aussi très différents comme par exemple la <strong><a href="../Photos/Dermochelys-coriacea.php">tortue luth</a> </strong> qui peut atteindre 1 tonne, la <strong><a href="../Fiches/Dipsochelys-elephantina.php">tortue des Galapagos</a></strong> peut faire 350 kg alors que d'autres espèces ne dépassent pas les 800 gr comme <strong> <em><a href="../Fiches/Testudo-kleinmanni.php">Testudo kleinmanni</a></em></strong>.</p>
<h2>Définition du mot tortue</h2>
<p><em>Nom générique désignant un <strong>reptile</strong> de forme généralement ovale présentant une carapace osseuse et écailleuse d'où sortent une tête munie d'un bec corné, deux paires de courtes pattes ou de nageoires ainsi qu'une queue. (Les <strong>tortues</strong> constituent l'ordre des <strong>chéloniens</strong>)</em></p>

<table width="100%" border="1" cellspacing="3" cellpadding="9">
  <tr>
    <td width="50%"><!-- ddlastfromeach --></td>
    <td width="50%"></td></tr>
</table>

<h2>Objectif du site <a href="../">www.cheloniophilie.com</a></h2>
<p>Ce site est créé dans le but de présenter une partie des <strong>tortues</strong> que l'on retrouve sur notre planète. La tortue, cet animal très sauvage, n'est malheureusement pas assez connu du grand public.</p>

<p>C'est à partir des informations contenues dans <a href="http://www.cheloniophilie.com/Fiches/" title="Fiches d'informations et de présentation des espèces de tortues">les fiches des espèces</a> que vous découvrirez les tortues et le mode de vie de chacune d'elles. Vous participerez donc à leur sauvegarde par la même occasion.</p>

<p>Je vous souhaite une agréable visite sur le site des passionnés de tortues.</p>

<div id="bas-page">
							<p id="contact"><a href="mailto:cheloniologue2004@yahoo.fr">Contact Webmaster</a></p>
							<p id="infos">Toute utilisation du contenu du site www.cheloniophilie.com sans autorisation &eacute;crite pr&eacute;alable du webmaster constitue une violation du droit d'auteur.</p>
							</div>

			<div class="navigation">
  				<span class="alignleft"><?php next_posts_link('&laquo; Pr&eacute;c&eacute;dent') ?></span>
  				<span class="alignright"><?php previous_posts_link('Suivant &raquo;') ?></span>
			</div>

		  <?php else : ?>

		  	<h3>Aucun document ne correspond aux termes de recherche sp&eacute;cifi&eacute;s.</h3>
            <!-- moteur de recherche //-->
			<?php get_search_form(); ?>

		    <?php endif; ?>

		</div><!-- #contenu-principal -->
	</div><!-- #content-inner -->
</div><!-- #content -->

<?php get_footer(); ?>

Une fois effectué, j'ai voulu tenté en mettant la page d'accueil en brouillon pour voir ce que cela allé donner ... mais rien ... erreur 404. Pk il ne la détecte pas alors que je l'ai enregistré dans le template ?
 
WRInaute accro
Il faut aussi garder les div et autre codes qui mettent en forme la page ;)
Si tu veux copier le code de ta page d'accueil dans le fichier index.php, il te fait reprendre le code source de page.php + le contenu de ta page qui viendra remplacer, je crois, la balise php "the content" (de mémoire).
Par ailleurs, il te faut modifier le mode d'affichage de ta page d'accueil via les reglages de l'administration. Actuellement, tu as probablement reglé pour afficher une page statique. Règle pour afficher les X derniers article. Cela utilisera alors ton fichier index.php, que tu auras modifié correctement. J'espère que je ne t'ai pas perdu en cours de route?
 
WRInaute impliqué
J'ai tenté :
Parse error: syntax error, unexpected T_ENDWHILE in /home/www/a28355a694d7a664444d0d9cec1190cf/web/wp-content/themes/wasi_tortue/index.php on line 29

Code:
<?php get_header(); ?>

<div id="content">

	<?php get_sidebar(); ?>

	<div class="content-inner">

		<?php get_sidebar('right'); ?>
<div id="contenu-principal">
		<h2>Introduction sur les tortues</h2>
<p><img class="alignright" src="../logo-tortue.jpeg" alt="Tortue" width="263" height="264" hspace="10" />Les <strong>tortues</strong> sont des animaux fascinants par leur aspect primitif et leur facilité d'adaptation dans différents milieux naturels comme dans le désert ou les steppes de Russie. Actuellement, on dénombre près de 330 espèces de tortues et de nombreuses sous-espèces réparties sur 4 continents. Les <strong>tortues</strong> ont donc évolué au fil des millénaires et peuvent être terrestres, aquatiques ou marines. Leur taille et leur poids sont aussi très différents comme par exemple la <strong><a href="../Photos/Dermochelys-coriacea.php">tortue luth</a> </strong> qui peut atteindre 1 tonne, la <strong><a href="../Fiches/Dipsochelys-elephantina.php">tortue des Galapagos</a></strong> peut faire 350 kg alors que d'autres espèces ne dépassent pas les 800 gr comme <strong> <em><a href="../Fiches/Testudo-kleinmanni.php">Testudo kleinmanni</a></em></strong>.</p>
<h2>Définition du mot tortue</h2>
<p><em>Nom générique désignant un <strong>reptile</strong> de forme généralement ovale présentant une carapace osseuse et écailleuse d'où sortent une tête munie d'un bec corné, deux paires de courtes pattes ou de nageoires ainsi qu'une queue. (Les <strong>tortues</strong> constituent l'ordre des <strong>chéloniens</strong>)</em></p>

<table width="100%" border="1" cellspacing="3" cellpadding="9">
  <tr>
    <td width="50%"><!-- ddlastfromeach --></td>
    <td width="50%"></td></tr>
</table>

<h2>Objectif du site <a href="../">www.cheloniophilie.com</a></h2>
<p>Ce site est créé dans le but de présenter une partie des <strong>tortues</strong> que l'on retrouve sur notre planète. La tortue, cet animal très sauvage, n'est malheureusement pas assez connu du grand public.</p>

<p>C'est à partir des informations contenues dans <a href="http://www.cheloniophilie.com/Fiches/" title="Fiches d'informations et de présentation des espèces de tortues">les fiches des espèces</a> que vous découvrirez les tortues et le mode de vie de chacune d'elles. Vous participerez donc à leur sauvegarde par la même occasion.</p>

<p>Je vous souhaite une agréable visite sur le site des passionnés de tortues.</p>
			</div>
			<?php endwhile; endif; ?>
		
 							<div id="bas-page">
							<p id="contact"><a href="mailto:cheloniologue2004@yahoo.fr">Contact Webmaster</a></p>
							<p id="infos">Toute utilisation du contenu du site www.cheloniophilie.com sans autorisation &eacute;crite pr&eacute;alable du webmaster constitue une violation du droit d'auteur.</p>
							</div>


		</div><!-- #contenu-principal -->
	</div><!-- #content-inner -->


</div><!-- #content -->
   
<?php get_footer(); ?>
 
WRInaute impliqué
par contre le footer ne s'affiche pas ...
Cette partie :
Code:
<p>Je vous souhaite une agréable visite sur le site des passionnés de tortues.</p>
         </div>
         <?php endwhile; endif; ?>
      
                     <div id="bas-page">
                     <p id="contact"><a href="mailto:cheloniologue2004@yahoo.fr">Contact Webmaster</a></p>
                     <p id="infos">Toute utilisation du contenu du site www.cheloniophilie.com sans autorisation &eacute;crite pr&eacute;alable du webmaster constitue une violation du droit d'auteur.</p>
                     </div>


      </div><!-- #contenu-principal -->
   </div><!-- #content-inner -->


</div><!-- #content -->
   
<?php get_footer(); ?>

Enfin également l'écriture est affichée plus gros et pas au même format que sur la page statique ... normal ?
 
WRInaute accro
Cela vient surement des class que tu as (ou n'as pas) inséré. Prend le temps de comparer le code source d'une "page" à celui de ta page d'accueil pour cibler les différences ;)
 
WRInaute impliqué
Super merci padadam!!!
Maintenant faut que j'arrive à insérer la liste des commentaires ... petit à petit l'oiseau fait son nid ... ehehe en tout cas super le tuto !!! faudrait qu'on puisse noter les intervenant pour leurs conseils :mrgreen: :mrgreen: :mrgreen:
 
WRInaute impliqué
Alors j'ai voulu intégrer DDLatestFromEach qui est un plugin que j'utilise ... je voulais l'intégrer via php

J'ai tenté
Code:
<?php ddlastfromeach('',''); ?>
Mais c'est pas aussi simple :cry: :cry: :cry:

Ensuite avez vous une idée sur d'une balise php affichant les derniers commentaires ???

(promis après j'arrête de vous embéter) :oops: :oops: :oops: :oops:
 
WRInaute accro
Je comprend pas trop ton problème ?!?

Je sais pas comment est foutue ta base mais si il y a une table de commentaire ça prend 5 lignes en php de faire ça.

Pourquoi cherche tu quelque chose qui le fait au lieu de chercher comment c'est fait pour le faire ? Parser un record-set de base dans n'importe quel langage c'est quand même une opération de base qu'on donne comme exercice de formation pour toute introduction à un nouveau langage.

Le reflex "réutilisation du code" qui a l'origine était logique a la vie dure et montre parfois ses limites dans la faiblesse de conception.

Je me trompe peut être mais en lisant le fil, j'ai l'impression que tu as la démarche d'empiler des briques là où il faut prendre 30 mn pour inciser, intercaler une condition (home page) et passer une requête suivie d'un while pour lire les données et les écrire.

Tu ne code pas ?
 
WRInaute impliqué
:oops: :oops: :oops: :oops: Je ne sais pas du tout coder ... le seul code que je connaisse c'est le html et css :oops: :oops: :oops: :oops:
Le php c'est un peu du chinois pour moi ... j'arrive un peu a bricoler lorsqu'il s'agit de personnaliser un morceau de code mais je suis incapable de créer une seule phrase. A vrai dire j'ai appris le html et css sur le tas ... les bases de données également ... et là je me mets (grâce à WP) à toucher un peu au php.
Where, Who, From ... je l'avais vite fait vu en comptabilité avec acess je crois mais jamais une réelle pratique appliquée au web.

Mais pour te répondre, quand je prends (comme tu dis) un morceau de code, l'intérêt est tout de même de le comprendre pour pouvoir le retoucher à l'avenir.

J'ai une information d'économie, d'import/export et de management... :mrgreen: :mrgreen: :mrgreen:

Je sais que les commentaires sont dans une table : wptor_comments
Dans cette table nous voulons afficher les éléments suivant :
"comment_author"; "comment_date" : "l'article concerné dans wptor_posts l'élément "post_title"
"

Pour relier les deux nous avons : "comment_post_ID" dans la table comments
OUPS je pense qu'il faut aussi spécifier dans la requête que nous voulons que les 15 derniers commentaires par exemple et seulement les 100 premiers caractères suivi de ...

Maintenant comment traduire en PHP ??? là je pêche ...

Enfin pour DDLastFromEach je suis que je peux également m'en passer avec une simple requête php qui sera très probablement du même genre que l'autre.
Un morceau de "comment_content "
 
WRInaute impliqué
Exemple : (attention au bouseu du codage)

<?php wptor_comments('comment_author','comment_date','comment_content'); ?>
euh ... non sérieux je bloque
 
WRInaute accro
cheloniologue a dit:
Je ne sais pas du tout coder ...
Ok je comprend mieux ton souci alors... désolé si j'ai pu être "incisif".


cheloniologue a dit:
Je sais que les commentaires sont dans une table : wptor_comments
Dans cette table nous voulons afficher les éléments suivant :
"comment_author"; "comment_date" : "l'article concerné dans wptor_posts l'élément "post_title"
"

Pour relier les deux nous avons : "comment_post_ID" dans la table comments
pour faire simple (je peux pas tester j'ai pas ton système) une lecture plus affichage en php ça ressemble a ça :

PHP:
<span class="syntaxdefault">    $con </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">mysql_connect</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$host</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$userSgbd</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$passe</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    $select_base</span><span class="syntaxkeyword">=@</span><span class="syntaxdefault">mysql_select_db</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$base</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    $sql </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"SELECT champA, champB FROM maTable WHERE condition ORDER BY champX DESC LIMIT 0,15"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $rs </span><span class="syntaxkeyword">=</span><span class="syntaxdefault">mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$sql</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    while</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$record </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_fetch_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$rs</span><span class="syntaxkeyword">)){<br /></span><span class="syntaxdefault">        $premierChamp </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $record</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">        $secondChamp </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $record</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">        echo </span><span class="syntaxstring">"ce que tu veux avec tes variable qui sont $premierChamp et $secondChamp<br/>"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> </span>
le select pour obtenir une selection
le from pour spécifier la table
le where pour mettre une condition
ensuite le "order by" trier
le DESC pour avoir du dernier vers le premier
et le LIMIT pour que tu n'ai (0,15) que le premier résulta suivi de 14 autres (donc 15 triés du plus récent au plu vieux)

dans ton cas je pense qu'il faut que la requête SQL soit du genre :

SELECT
A.comment_author, A.comment_date, A.comment_content, B.post_title
FROM
comments as A, posts as B
WHERE
A.comment_POST_ID = B.ID AND
B.comment_approved = 1
ORDER BY
A.comment_ID DESC
LIMIT
0,15

soit sélectionner les auteurs, date, text et titre de page dans les tables comment et post où l'id du commentaire = l'id du post (lier le sujet et son commentaire pour avoir le bon titre du sujet sur un commentaire donné) ET où le commentaire est approuvé (=1 mais je connais pas l'état d'approbation) trié par id de commentaire décroissant en donnant seulement 15 résultats.
comme tu travaille sur deux tables (visibles dans la clause FROM) on leur met un préfix (A et B) pour que les champs cités soit parfaitement ciblés.

c'est écrit a l'arrache sans tester et les tables ne sont pas préfixées donc sans aucune garantie :wink:
le bon truc c'est de te mettre sous PhpMyAdmin et de tester au fur et a mesure jusqu'a que tu ai le bon résultat dans le bon ordre.

Ensuite tu n'a plu qu'a faire des écho judicieux avec du html et tes variables pour construire ton code de page a l'endroit ou doit s'afficher le résulta.
 
WRInaute accro
exemple pour afficher des data dans une table html a partir de l'exemple ci dessus (je zape la connexion et identification a la base) :

PHP:
<span class="syntaxdefault">        $sql </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"SELECT champA, champB FROM maTable WHERE condition ORDER BY champX DESC LIMIT 0,15"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        $rs </span><span class="syntaxkeyword">=</span><span class="syntaxdefault">mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$sql</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        echo </span><span class="syntaxstring">'<table>'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        while</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$record </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_fetch_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$rs</span><span class="syntaxkeyword">)){<br /></span><span class="syntaxdefault">            $premierChamp </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $record</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">            $secondChamp </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $record</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">            echo </span><span class="syntaxstring">"<tr><td>$premierChamp</td><td>$secondChamp</td></tr>"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">        echo </span><span class="syntaxstring">'</table>'</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span>
c'est bien sur très "bourrin", il y a notamment moyen de gérer les connexions via le CMS généralement (on ouvre pas 36 connexion de partout avec le mot de passe en dur sur tous les scripts) mais dans le cas qui nous préoccupe c'est le principe qui compte.
 
WRInaute impliqué
Merci beaucoup Zeb j'essaierai tout à l'heure quand je serai chez moi.
Mais je comprends pas une chose ... normalement le code que tu viens de me donner ... il faut pas le mettre dans la page html ... il faut le mettre dans le fichier fonction.php ... non ?

Mettre des identifiants de connexion à la base ... pk ? wp est déjà relié à la base de données ... j'ai pas tout suivi ... je comprends ton code grâce à tes explications mais comment le mettre en place ...???

ça va pas directement dans le html ... normalement il faut une balise <php ... non ? Tu rentres ça direct sur la page ? (désolé encore) :oops: :oops:
 
WRInaute accro
bah je sais pas du tout comment fonctionne WP donc :?: quoi qu'il en soit :
* oui le code php doit être "borné" entre un "<?php" et un "?>"
* les exemple donnés sont brut de décofrage donc il est possible que ça passe dans la page (script) que tu as publié ci dessus (avec les <?php ... ?> bien sur)
* "il faut le mettre dans le fichier fonction.php" je sais pas (encore :D ) comment est foutu WP mais une fonction est un morceau de code avec une syntaxe précise qui peut être appelée de n'importe où si le code des fonctions est inclu (en gros si la bibliothèque est présente). dans le cas que je te donne tu peux très bien introduire le code là ou il doit réaliser l'affichage (la sortie HTML) il n'a pas besoins d'être "encapsulé" dans une fonction même si c'est moins propre (dans la mesure où il n'est utilisé qu'a un seul endroit l'usage d'une fonction en procédural n'est pas forcement justifié)
* "wp est déjà relié à la base de données" oui je pense mais j'en sais rien donc dans le doute je t'ai donné les deux ligne génériques qui permettent de s'identifier et de se connecter. Dans la pratique si une connexion est déjà active pour le script (ou peut être même le thread système) tu peux te passer des deux première lignes.
 
WRInaute accro
cheniologue, tu devrais vraiment te prendre un petit peu de temps pour voir "comment" le truc fonctionne et comprendre ce qui se met dans un template de modèle ou dans un fichier functions.php

Non tu n'as pas besoin de te reconnecter.

Ensuite si tu fais un petit tour dans le codex, tu vois que tu as une fonction toute faite

http://codex.wordpress.org/Function_Reference/get_comments

Pas besoin de réinventer la roue et de tout coder, au contraire, sinon pas la peine de passer par un CMS
 
WRInaute accro
Arf super ! tu ajoute un lien du site du posteur sur son pseudo et je me fait un devoir de tout comprendre des tortues :D
 
WRInaute impliqué
Merci à toutes et tous pour vos réactions, commentaires, avis, aides ... toujours un réel bonheur WRI avec des membres actifs (et modo) toujours là pour nous aider ... rare sont les discussions qui finissent sans réponses.

Grâce à vous ... le tour est joué cheloniophilie.com (page d'accueil)

(bon j'ai un peu triché... J'ai mis un plugin last comment ... et j'ai (grâce au fait que la page soit codée) pu mettre du php et intégrer les fonctions désirées. Désormais le site devrait être beaucoup plus dynamique.

Je pense faire la même chose pour toutes les parties !!! :mrgreen: :mrgreen: :mrgreen: :mrgreen:
 
Discussions similaires
Haut