Ajouter le nombre de commentaire (Créer un compte)

  • Statut : non résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #524019
    sylvainbr
    Membre
    Chevalier WordPress
    239 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 3.5.1
    – Version de PHP/MySQL :
    – Thème utilisé : host
    – Extensions en place :
    – Nom de l’hebergeur : NT conseil
    – Adresse du site : http://armeco.org/

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

    Je voudrais rajouter le nombre de commentaire en fin de chaque article.

    J’ai télécharger d’autres thèmes qui l’on.
    En éditant le thème ayant un compteur de commentaire je n’est rien vu de l’endroit où mettre ce code.

    Sur ce forum j’ai trouvé le code suivant à mettre dans le fichier index.php

    Code pour afficher un compteur de commentaire

    <?php comments_popup_link('aucun commentaire', '1 commentaire', '% commentaires', 'comments-link', 'Les commentaires sont fermés'); ?>

    Mais en le mettant à divers endroit du fichier index.php je ne voit rien apparaître.

    Fichier index.php

    <?php get_header(); ?>
    <div class="contentLayout">
    <div class="content">


    <?php
    $prev_link = get_previous_posts_link(__('Newer Entries »', 'kubrick'));
    $next_link = get_next_posts_link(__('« Older Entries', 'kubrick'));
    ?>

    <?php if ($prev_link || $next_link): ?>
    <div class="Post">
    <div class="Post-tl"></div>
    <div class="Post-tr"><div></div></div>
    <div class="Post-bl"><div></div></div>
    <div class="Post-br"><div></div></div>
    <div class="Post-tc"><div></div></div>
    <div class="Post-bc"><div></div></div>
    <div class="Post-cl"><div></div></div>
    <div class="Post-cr"><div></div></div>
    <div class="Post-cc"></div>
    <div class="Post-body">
    <div class="Post-inner article">

    <div class="PostContent">

    <div class="navigation">
    <div class="alignleft"><?php echo $next_link; ?></div>
    <div class="alignright"><?php echo $prev_link; ?>

    ‘, ‘

    ‘); ?>

     » rel= »bookmark » title= »« >

    ‘, ‘

    ‘); ?>

    ‘, ‘

    ‘); ?>

    _e(‘Sorry, but you are looking for something that isn’t here.’, ‘kubrick’); ?>


    #892438
    sylvainbr
    Membre
    Chevalier WordPress
    239 contributions

    J’ai oublier de demander la chose suivante:

    Est-il possible de rajouter un suivit des commentaires (un genre d’abonnement et désabonnement par rapport à un article).

    J’ai beau comparer les fonctions similaires comprise dans des thèmes qui ont un compteur de commentaire.
    J’ai du mal à me retrouver avec tous les fichiers PHP. Et je n’arrive pas à reproduire le code pour mon thème.
    j’ai des erreur de programmations en suivant cette exemple:

    discution similaire

    Merci d’avance pour votre aide.

    #892439
    luciole135
    Participant
    Maître WordPress
    13714 contributions
    sylvainbr wrote:
    Mais en le mettant à divers endroit du fichier index.php je ne voit rien apparaître.

    Certainement parce que la fonction appelée est spécifique au dit thème, il vous donc aussi l’installer dans le fichier function.php

    #892440
    sylvainbr
    Membre
    Chevalier WordPress
    239 contributions

    D’après cette dicution J’ai rentré la fonction de compteur de commentaire:

    function comments_number( $zero = false, $one = false, $two = false, $three = false, $more = false, $deprecated =  » ) {
    global $id;
    $number = get_comments_number($id);

    if ( $number > 3 )
    $output = str_replace(‘%’, number_format_i18n($number), ( false === $more ) ? __(‘% Comments’) : $more);
    elseif ( $number == 0 )
    $output = ( false === $zero ) ? __(‘No Comments’) : $zero;
    elseif ( $number == 1 )
    $output = ( false === $one ) ? __(‘1 Comment’) : $one;
    elseif ( $number == 2 )
    $output = ( false === $two ) ? __(‘2 Comments’) : $two;
    elseif ( $number == 3 )
    $output = (false === $three ) ? __(‘3 Comments’) : $three;

    echo apply_filters(‘comments_number’, $output, $number);
    }

    Si dans mon fichier founction.php je met le début du code comme suit:
    function comments_number( $zero = false, $one = false, $two = false, $three = false, $more = false, $deprecated =  » ) {

    j’ai l’erreur suivante:
    Parse error: syntax error, unexpected $end in C:xampphtdocswp-contentthemeshostfunctions.php on line 283 (qui correspond à la dernière ligne du fichier function.php)

    Si dans mon fichier founction.php je met le début du code comme suit:
    function comments_number( $zero = false, $one = false, $two = false, $three = false, $more = false, $deprecated =  » )
    {

    j’ai l’erreur suivante:
    Fatal error: Cannot redeclare comments_number() (previously declared in C:xampphtdocswp-includescomment-template.php:573) in C:xampphtdocswp-contentthemeshostfunctions.php on line 284

    voici la copie de mon fichier function.php:

     « true »

    );

    load_theme_textdomain(‘kubrick’);

    if (!function_exists(‘get_previous_posts_link’)) {
    function get_previous_posts_link($label)
    {
    ob_start();
    previous_posts_link($label);
    return ob_get_clean();
    }
    }

    if (!function_exists(‘get_next_posts_link’)) {
    function get_next_posts_link($label)
    {
    ob_start();
    next_posts_link($label);
    return ob_get_clean();
    }
    }

    function art_comment($comment, $args, $depth)
    {
    $GLOBALS[‘comment’] = $comment; ?>
    <li id= »li-comment-« >
    <div id="comment-« >
    <div class="Post">
    <div class="Post-tl"></div>
    <div class="Post-tr"><div></div></div>
    <div class="Post-bl"><div></div></div>
    <div class="Post-br"><div></div></div>
    <div class="Post-tc"><div></div></div>
    <div class="Post-bc"><div></div></div>
    <div class="Post-cl"><div></div></div>
    <div class="Post-cr"><div></div></div>
    <div class="Post-cc"></div>
    <div class="Post-body">
    <div class="Post-inner article">

    <div class="PostContent">

    <div class="comment-author vcard">
    <?php echo get_avatar($comment,$size='48',$default='’ ); ?>

    <?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>‘), get_comment_author_link()) ?>
    </div>
    comment_approved == ‘0’) : ?>
    <em></em>
    <br />


    <div class="comment-meta commentmetadata"><a href="comment_ID ) ) ?> »></a></div>



    <div class="reply">
    $depth, ‘max_depth’ => $args[‘max_depth’]))) ?>
    </div>

    </div>
    <div class="cleared"></div>


    <?php if (is_page()) edit_post_link(__('Edit this entry.', 'kubrick'), '<p>‘, ‘</p>‘); ?>
    </div>


    </div>
    </div>

    </div>
    ‘<!--- BEGIN Widget -->‘,
    ‘before_title’ => ‘<!--- BEGIN WidgetTitle -->‘,
    ‘after_title’ => ‘<!--- END WidgetTitle -->‘,
    ‘after_widget’ => ‘<!--- END Widget -->‘
    ));
    }

    function art_normalize_widget_style_tokens($content) {
    $bw = ‘<!--- BEGIN Widget -->‘;
    $bwt = ‘<!--- BEGIN WidgetTitle -->‘;
    $ewt = ‘<!--- END WidgetTitle -->‘;
    $bwc = ‘<!--- BEGIN WidgetContent -->‘;
    $ewc = ‘<!--- END WidgetContent -->‘;
    $ew = ‘<!--- END Widget -->‘;
    $result =  »;
    $startBlock = 0;
    $endBlock = 0;
    while (true) {
    $startBlock = strpos($content, $bw, $endBlock);
    if (false === $startBlock) {
    $result .= substr($content, $endBlock);
    break;
    }
    $result .= substr($content, $endBlock, $startBlock – $endBlock);
    $endBlock = strpos($content, $ew, $startBlock);
    if (false === $endBlock) {
    $result .= substr($content, $endBlock);
    break;
    }
    $endBlock += strlen($ew);
    $widgetContent = substr($content, $startBlock, $endBlock – $startBlock);
    $beginTitlePos = strpos($widgetContent, $bwt);
    $endTitlePos = strpos($widgetContent, $ewt);
    if ((false == $beginTitlePos) xor (false == $endTitlePos)) {
    $widgetContent = str_replace($bwt,  », $widgetContent);
    $widgetContent = str_replace($ewt,  », $widgetContent);
    } else {
    $beginTitleText = $beginTitlePos + strlen($bwt);
    $titleContent = substr($widgetContent, $beginTitleText, $endTitlePos – $beginTitleText);
    if (‘ ‘ == $titleContent) {
    $widgetContent = substr($widgetContent, 0, $beginTitlePos)
    . substr($widgetContent, $endTitlePos + strlen($ewt));
    }
    }
    if (false === strpos($widgetContent, $bwt)) {
    $widgetContent = str_replace($bw, $bw . $bwc, $widgetContent);
    } else {
    $widgetContent = str_replace($ewt, $ewt . $bwc, $widgetContent);
    }
    $result .= str_replace($ew, $ewc . $ew, $widgetContent);
    }
    return $result;
    }

    function art_sidebar($index = 1)
    {
    if (!function_exists(‘dynamic_sidebar’)) return false;
    ob_start();
    $success = dynamic_sidebar($index);
    $content = ob_get_clean();
    if (!$success) return false;
    $content = art_normalize_widget_style_tokens($content);
    $replaces = array(
    ‘<!--- BEGIN Widget -->‘ => « <div class="Block">rn <div class="Block-tl"></div>rn <div class="Block-tr"><div></div></div>rn <div class="Block-bl"><div></div></div>rn <div class="Block-br"><div></div></div>rn <div class="Block-tc"><div></div></div>rn <div class="Block-bc"><div></div></div>rn <div class="Block-cl"><div></div></div>rn <div class="Block-cr"><div></div></div>rn <div class="Block-cc"></div>rn <div class="Block-body">rn »,
    ‘<!--- BEGIN WidgetTitle -->‘ => « <div class="BlockHeader">rn <div class="header-tag-icon">rn <div class="BlockHeader-text">« ,
    ‘<!--- END WidgetTitle -->‘ => « </div>rn </div>rn <div class="l"></div>rn <div class="r"><div></div></div>rn</div>rn »,
    ‘<!--- BEGIN WidgetContent -->‘ => « <div class="BlockContent">rn <div class="BlockContent-body">rn »,
    ‘<!--- END WidgetContent -->‘ => « rn </div>rn</div>rn »,
    ‘<!--- END Widget -->‘ => « rn </div>rn</div>rn »
    );
    $bwt = ‘<!--- BEGIN WidgetTitle -->‘;
    $ewt = ‘<!--- END WidgetTitle -->‘;
    if ( » == $replaces[$bwt] &&  » == $replaces[$ewt]) {
    $startTitle = 0;
    $endTitle = 0;
    $result =  »;
    while (true) {
    $startTitle = strpos($content, $bwt, $endTitle);
    if (false == $startTitle) {
    $result .= substr($content, $endTitle);
    break;
    }
    $result .= substr($content, $endTitle, $startTitle – $endTitle);
    $endTitle = strpos($content, $ewt, $startTitle);
    if (false == $endTitle) {
    $result .= substr($content, $startTitle);
    break;
    }
    $endTitle += strlen($ewt);
    }
    $content = $result;
    }
    $content = str_replace(array_keys($replaces), array_values($replaces), $content);
    echo $content;
    return true;
    }

    function art_list_pages_filter($output)
    {
    $output = preg_replace(‘~<li>]*)><a>]*)>([^<]*)</a>~’,
    ‘<li><a><span><span>$3</span></span></a>‘,
    $output);
    $re = ‘~<li><a ~';
    $output = preg_replace($re, '<li class="$1$2"><a class="active" ', $output, 1);
    $output = preg_replace($re, '<li class="$1$2"><a>post_parent)
    $result[] = $page;
    }
    if (‘page’ == get_option(‘show_on_front’)) {
    $pageOnFront = get_option(‘page_on_front’);
    $pageForPosts = get_option(‘page_for_posts’);
    if ($pageOnFront) {
    foreach ($result as $key => $page) {
    if (0 == $page->post_parent && $pageOnFront == $page->ID) {
    unset($result[$key]);
    break;
    }
    }
    }
    if (!$pageOnFront && $pageForPosts) {
    foreach ($result as $key => $page) {
    if (0 == $page->post_parent && $pageForPosts == $page->ID) {
    unset($result[$key]);
    break;
    }
    }
    }
    }
    return $result;
    }

    function art_menu_items()
    {
    $homeMenuItemCaption = <<post_title);
    $isHomeSelected = is_page($page->ID);
    } elseif (!$pageOnFront && $pageForPosts) {
    $page = & get_post($pageForPosts);
    if (null != $page)
    $homeMenuItemCaption = apply_filters(‘the_title’, $page->post_title);
    }
    }
    if (null === $isHomeSelected)
    $isHomeSelected = is_home();
    if (true === $showHomeMenuItem)
    echo ‘<li><a href="' . get_option('home') . '"><span><span>‘
    . $homeMenuItemCaption . ‘</span></span></a></li>‘;
    add_action(‘get_pages’, ‘art_header_page_list_filter’);
    add_action(‘wp_list_pages’, ‘art_list_pages_filter’);
    wp_list_pages(‘title_li=’);
    remove_action(‘wp_list_pages’, ‘art_list_pages_filter’);
    remove_action(‘get_pages’, ‘art_header_page_list_filter’);
    }

    add_filter(‘comments_template’, ‘legacy_comments’);
    function legacy_comments($file) {
    if(!function_exists(‘wp_list_comments’)) : // WP 2.7-only check
    $file = TEMPLATEPATH.’/legacy.comments.php’;
    endif;
    return $file;
    }

    function comments_number( $zero = false, $one = false, $two = false, $three = false, $more = false, $deprecated =  » ) {
    global $id;
    $number = get_comments_number($id);

    if ( $number > 3 )
    $output = str_replace(‘%’, number_format_i18n($number), ( false === $more ) ? __(‘% Comments’) : $more);
    elseif ( $number == 0 )
    $output = ( false === $zero ) ? __(‘No Comments’) : $zero;
    elseif ( $number == 1 )
    $output = ( false === $one ) ? __(‘1 Comment’) : $one;
    elseif ( $number == 2 )
    $output = ( false === $two ) ? __(‘2 Comments’) : $two;
    elseif ( $number == 3 )
    $output = (false === $three ) ? __(‘3 Comments’) : $three;

    echo apply_filters(‘comments_number’, $output, $number);
    }

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