Hur man skiljer trackbacks frÄn kommentarer i WordPress

Hur man skiljer trackbacks frÄn kommentarer i WordPress

Hur man skiljer trackbacks frÄn kommentarer Àr inget nytt hack, men nÀr WordPress slÀppte version 2.7 introducerade de ett nytt renoverat kommentarsystem som inkluderade gÀngade kommentarer, förmÄga att paginera och mycket mer. Men tillsammans med denna förÀndring Àndrade de ocksÄ mÄnga kÀrnfilsparametrar. I den hÀr artikeln visar vi dig hur du kan skilja trackbacks frÄn kommentarer i WordPress. Detta hack fungerar bara för version 2.7+ och om du inte anvÀnder det bör du börja nu pÄ grund av den senaste MySQL-attacken pÄ Àldre versioner.

Vi hittade den hÀr guiden pÄ en av WordPress-utvecklarens webbplats som heter Sivel.net

HÀr Àr ett exempel pÄ den nya slingan som vi kommer att hÀnvisa till i handledningen:


    <?php if ( have_comments() ) : ?>
    <h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to %u201C<?php the_title(); ?>%u201D</h3>
    <ol class="commentlist">
    <?php wp_list_comments(); ?>
    </ol>
    <div class="navigation">
    <div class="alignleft"><?php previous_comments_link() ?></div>
    <div class="alignright"><?php next_comments_link() ?></div>
    </div>

    <?php else : // this is displayed if there are no comments so far ?>

    <?php if ('open' == $post->comment_status) : ?>
    <!– If comments are open, but there are no comments. –>

    <?php else : // comments are closed ?>
    <!– If comments are closed. –>
    <p class="nocomments">Comments are closed.

    <?php endif; ?>
    <?php endif; ?> 

Hitta den hÀr koden i din:


<?php if ( have_comments() ) : ?>

Direkt under denna kod lÀgg till följande kod:


[/php

Once you have added the above code then find this code:


<?php wp_list_comments(); ?>

Replace the above code with the following code:


<?php wp_list_comments('type=comment'); ?>

Now as you see in our example loop there is a code for ordered list that looks like


</ol>

Directly below this code add:


<?php endif; ?>

Now by adding the endif tag, if you do not have any comments, the ordered list will not be displayed. Now lets move on to adding the pings to the comments.

Add the following code below or however you want to display it. It will display the pings.


    <?php if ( ! empty($comments_by_type['pings'])):?> 

Trackbacks / Pingbacks

Nu nÀr du har detta kommer trackbacks att visas men det kommer att visa dem precis som kommentarer. Nu kanske du vill visa dem som en lista eftersom du annars slösar bara bort utrymme. SÄ hÀr Àr hur du kan göra det.

Öppna helt enkelt det som finns i din temamapp och lĂ€gg till följande funktion dĂ€r inne:


<?php
function list_pings($comment, $args, $depth) {
$GLOBALS['comment'] = $comment;
?>
<li id="comment-<?php comment_ID(); ?>"><?php comment_author_link(); ?>
<?php } ?> 

Denna funktion lÄter dig visa pingorna som en lista istÀllet för att visas som en kommentar. Men du mÄste göra en sak till.

Öppna dina comments.php och hitta den hĂ€r koden:


<ol>
<?php wp_list_comments('type=pings'); ?> 

Byt ut det med:


<ol>
<?php wp_list_comments('type=pings&callback=list_pings'); ?>

Nu skulle den slutliga kopian av exemplets slinga se ut sÄ hÀr:


    <?php if ( have_comments() ) : ?>
    <?php if ( ! empty($comments_by_type['comment']) ) : ?>
    <h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to %u201C<?php the_title(); ?>%u201D</h3>
    <ol class="commentlist">
    <?php wp_list_comments('type=comment'); ?>
    </ol>

    <?php endif; ?>

    <?php if ( ! empty($comments_by_type['pings']) ) : ?>
    <h3 id="pings">Trackbacks/Pingbacks</h3>
    <ol class="pinglist">
    <?php wp_list_comments('type=pings&callback=list_pings'); ?>
    </ol>

    <?php endif; ?>
    <div class="navigation">
    <div class="alignleft"><?php previous_comments_link() ?></div>
    <div class="alignright"><?php next_comments_link() ?></div>
    </div>

    <?php else : // this is displayed if there are no comments so far ?>

    <?php if ('open' == $post->comment_status) : ?>
    <!– If comments are open, but there are no comments. –>

    <?php else : // comments are closed ?>
    <!– If comments are closed. –>
    <p class="nocomments">Comments are closed.

    <?php endif; ?>
    <?php endif; ?> 

Nu Àr du klar. Det finns ett bonushack som du kan anvÀnda. Eftersom du visar dem separat, skulle det vara bra om du visar exakt antal kommentarer genom att utesluta trackbacks och pings. AnvÀnd den hÀr guiden som vi skrev för att visa det mest exakta antalet kommentarer i WordPress.