Cómo separar los trackbacks de los comentarios en WordPress

Cómo separar los trackbacks de los comentarios no es un truco nuevo, pero cuando WordPress lanzó la versión 2.7, introdujeron un nuevo sistema de comentarios renovado que incluía comentarios encadenados, capacidades de paginación y mucho más. Pero junto con este cambio, también cambiaron muchos de los parámetros del archivo base. En este artículo, le mostraremos cómo separar los trackbacks de los comentarios en WordPress. Este truco solo funcionará para la versión 2.7+ y si no lo está utilizando, debería comenzar ahora debido al reciente ataque de MySQL en versiones anteriores.

Encontramos este tutorial en uno de los sitios web para desarrolladores de WordPress llamado Sivel.net

Aquí hay un ejemplo del nuevo ciclo al que nos referiremos en el tutorial:

    <?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; ?> 

Encuentra este código en tu comments.php:

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

Directamente debajo de este código, agregue el siguiente código:



[/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'])):?> 

Trackback / Pingback

Ahora, cuando tenga esto, mostrará los trackbacks, pero los mostrará solo como comentarios. Ahora es posible que desee verlos como una lista porque, de lo contrario, solo estaría desperdiciando espacio. Así que así es como puede hacerlo.

Simplemente abra functions.php que está en la carpeta de temas y agregue la siguiente función allí:

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

Esta función le permitirá ver los pings como una lista en lugar de mostrarlos como un comentario. Pero todavía tienes que hacer una cosa.

Abra su comments.php y busque este código:

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

Reemplácelo con:

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

Ahora, la copia final del ciclo de ejemplo sería esta:

    <?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; ?> 

Ya terminaste. Hay un truco adicional que puedes usar. Dado que los está viendo por separado, sería aconsejable ver el recuento de comentarios preciso excluyendo trackbacks y pings. Utilice este tutorial que escribimos para ver el recuento de comentarios más preciso en WordPress.

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicado. Required fields are marked *