Afficher les derniers commentaires

  • Statut : non résolu
13 sujets de 1 à 13 (sur un total de 13)
  • Auteur
    Messages
  • #457886
    erehcab
    Participant
    Chevalier WordPress
    248 contributions

    Bonjour,

    Ma configuration WP actuelle
    – WordPress 2.3.3 :
    – Personnel :
    – Askimet :
    – Local :

    Problème(s) rencontré(s) :

    Bonjour à tous,

    Je souhaiterai pouvoir afficher sur la page d’accueil de mon blog les derniers commentaires d’une catégorie que je définis mais sans passer par un plugin. J’ai cherché dans le codex s’il y avait une possibilité de le faire avec le query_post() mais je n’est rien trouvé… J’imagine qu’il doit bien y avoir quelque choses pour faire ça !!
    Merci,

    Tom

    #624185
    dlo
    Participant
    Maître WordPress
    1852 contributions

    Il est possible de s’inspirer de la fonction wp_widget_recent_comments() qui se trouve dans le fichier /wp-includes/widget.php.
    Cette fonction est celle qui affiche les derniers commentaires lorsque l’on utilise le widget “Last comments” mais il y a peu de chose à faire pour l’adapter à une utilisation sans plugin.

    Cordialement

    #624186
    erehcab
    Participant
    Chevalier WordPress
    248 contributions

    ok, mais cela impose d’utiliser le widget ?

    #624187
    dlo
    Participant
    Maître WordPress
    1852 contributions

    Non, en fait, ce que je suggère c’est de copier le code utilisé par le widget pour l’insérer dans le template de la page d’accueil. En faisant les quelques adaptations nécessaires, bien sûr.
    Suis-je clair ? 😉

    Cordialement

    #624188
    erehcab
    Participant
    Chevalier WordPress
    248 contributions

    Ok je comprends. Je vais essayer merci de nouveau pour ton aide 🙂

    #624189
    erehcab
    Participant
    Chevalier WordPress
    248 contributions

    C’est bon j’ai réussi a me servir de la fonction au tu m’as proposé, ça marche nickel !!! 🙂

    #624190
    Renaud
    Membre
    Initié WordPress
    38 contributions

    Bonjour.

    Voici mon site : http://rmousnie.free.fr
    J’ai suivi vos indications (en mettant dans la colonne latérale) et j’ai bien les derniers commentaires, mais accompagnés d’un message d’erreur :

    Warning: Missing argument 1 for wp_widget_recent_comments() in /mnt/163/sdb/1/b/rmousnie/wp-includes/widgets.php on line 926

    Warning: extract() [function.extract]: First argument should be an array in /mnt/163/sdb/1/b/rmousnie/wp-includes/widgets.php on line 928

    Voici le code de widget.php là où doit être l’erreur (je n’arrive pas à afficher le numéro de ligne avec Mac) :

    <?php
    }
    
    function wp_widget_recent_comments($args) {
    	global $wpdb, $comments, $comment;
    	extract($args, EXTR_SKIP);
    	$options = get_option('widget_recent_comments');
    	$title = empty($options['title']) ? __('Recent Comments') : $options['title'];
    	if ( !$number = (int) $options['number'] )
    		$number = 5;
    	else if ( $number  15 )
    		$number = 15;
    
    	if ( !$comments = wp_cache_get( ‘recent_comments’, ‘widget’ ) ) {
    		$comments = $wpdb->get_results(“SELECT comment_author, comment_author_url, comment_ID, comment_post_ID FROM $wpdb->comments WHERE comment_approved = ‘1’ ORDER BY comment_date_gmt DESC LIMIT $number”);
    		wp_cache_add( ‘recent_comments’, $comments, ‘widget’ );
    	}
    ?>
    
    		
    			
    			<ul id="recentcomments"><?php
    			if ( $comments ) : foreach ($comments as $comment) :
    			echo  '<li class="recentcomments">‘ . sprintf(__(‘%1$s on %2$s’), get_comment_author_link(), ‘<a>comment_post_ID) . ‘#comment-‘ . $comment->comment_ID . ‘”>’ . get_the_title($comment->comment_post_ID) . ‘</a>‘) . ‘</li>‘;
    			endforeach; endif;?></ul>
    		

    Auriez-vous une solution ?

    Renaud

    #624191
    dlo
    Participant
    Maître WordPress
    1852 contributions

    Et en utilisant cette syntaxe ?

     

    Est-ce que les messages disparaissent ?

    Cordialement

    #624192
    Renaud
    Membre
    Initié WordPress
    38 contributions

    Quelle célérité ! Et quelle efficacité !
    Félicitations ! Merci beaucoup !

    Dernier détail : comment (où) enlever la ligne au-dessus “Commentaires récents”, qui ne se trouve pas dans mon code ni dans le fichier ?

    #624193
    IPreferNcy
    Membre
    Chevalier WordPress
    176 contributions

    SI je ne m’ abuse, voilà ce qu’ il faut amputer.

    $title = empty($options[‘title’]) ? __(‘Recent Comments’) : $options[‘title’];
      if ( !$number = (int) $options[‘number’] )

    #624194
    Renaud
    Membre
    Initié WordPress
    38 contributions

    J’ai supprimé mais j’ai toujours ce message 😐

    #624195
    HeleneR
    Participant
    Maître WordPress
    1545 contributions

    Bonjour,

    Ca marche, mais je me demandais comment paramétrer “derniers messages” et le nombre de 5 messages qui s’affichent par défaut
    J’ai l’impression que le code dans la colonne latérale est plus rapide de traitement que par les widgets
    Vous en pensez quoi?

    Merci d’avance

    #624196
    Geco06
    Participant
    Initié WordPress
    39 contributions

    Bonjour,
    Moi aussi j’essaye de mettre les derniers commentaires dans une page. J’utilise Shortcode Exec PHP pour intégrer PHP dans mes pages, c’est plus simple. Mais là ça ne marche pas.
    J’ai collé : wp_widget_recent_comments();
    sans car Shortcode Exec PHP sait que c’est qu’il sagit de php ,mais là j’ai une erreur:

    Fatal error: Call to undefined function wp_widget_recent_comments() in /homez.353/cogitoer/www/wp-content/plugins/shortcode-exec-php/shortcode-exec-php-class.php(868) : eval()’d code on line 1

    Vous auriez une idée s’il vous plait?

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