如何在WordPress中将引用与注释分开

如何将Trackbacks与Comments分开并不是新的黑客,但是当WordPress发布2.7版时,他们引入了一个新的翻译评论系统,其中包括线程评论,分页能力等等。但随着这一变化,他们也改变了很多核心文件参数。在本文中,我们将向您展示如何在WordPress中将引用与评论分开。这个hack只适用于2.7+版本,如果你没有使用它,那么你应该从现在开始,因为最近MySQL对旧版本的攻击。

我们在一个WordPress开发者的网站上找到了这个教程Sivel.net

以下是我们将在教程中引用的新循环的示例:

      <?php if ( have_comments() ) : ?>      <h3 ><?php comments_number("No Responses", "One Response", "% Responses" );?> to %u201C<?php the_title(); ?>%u201D</h3>      <ol >      <?php wp_list_comments(); ?>      </ol>      <div >      <div ><?php previous_comments_link() ?></div>      <div ><?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 >Comments are closed.        <?php endif; ?>      <?php endif; ?>  

comments.php %%%中查找此代码%%%:直接在此代码下面添加以下代码:

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

使用以下代码替换上面的代码:

  <?php if ( ! empty($comments_by_type["comment"]) ) : ?>  [/php    Once you have added the above code then find this code:      <?php wp_list_comments(); ?>  

现在,如我们在示例循环中看到的那样有序列表的代码看起来像

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

直接在此代码下面添加:

  </ol>  

直接在此代码下方添加:

  <?php endif; ?>  

现在通过添加endif标记,如果您没有任何注释,则不会显示有序列表。现在让我们继续将ping添加到注释中。

在下面添加以下代码,或者您想要显示它。它将显示ping。

      <?php if ( ! empty($comments_by_type["pings"]) ) : ?>      <h3 >Trackbacks/Pingbacks</h3>      <ol >      <?php wp_list_comments("type=pings"); ?>      </ol>        <?php endif; ?>  

现在,当你拥有它时,它将显示引用,但它将像注释一样显示它们。现在你可能想把它们显示为列表,因为其他明智的你只是在浪费空间。所以这就是你如何做到这一点。

只需打开你的主题文件夹中的 functions.php 并在其中添加以下函数:

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

此功能可让您将ping显示为列表,而不是像注释一样显示。但你必须做更多的事情。

打开你的comments.php并找到这段代码:

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

将其替换为:

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

现在示例循环的最终副本将看看这个:

      <?php if ( have_comments() ) : ?>      <?php if ( ! empty($comments_by_type["comment"]) ) : ?>      <h3 ><?php comments_number("No Responses", "One Response", "% Responses" );?> to %u201C<?php the_title(); ?>%u201D</h3>      <ol >      <?php wp_list_comments("type=comment"); ?>      </ol>        <?php endif; ?>        <?php if ( ! empty($comments_by_type["pings"]) ) : ?>      <h3 >Trackbacks/Pingbacks</h3>      <ol >      <?php wp_list_comments("type=pings&callback=list_pings"); ?>      </ol>        <?php endif; ?>      <div >      <div ><?php previous_comments_link() ?></div>      <div ><?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 >Comments are closed.        <?php endif; ?>      <?php endif; ?>  

如何将Trackbacks与Comments分开并不是新的黑客,但是当WordPress发布2.7版时,他们引入了一个新的翻译评论系统,其中包括线程评论,分页能力等等。但随着这一变化,他们也改变了很多核心文件参数。在本文中,我们将向您展示如何在WordPress中将引用与评论分开。这个hack只适用于2.7+版本,如果你没有使用它,那么你应该从现在开始,因为最近MySQL对旧版本的攻击。

我们在一个WordPress开发者的网站上找到了这个教程Sivel.net

以下是我们将在教程中引用的新循环的示例:

      <?php if ( have_comments() ) : ?>      <h3 ><?php comments_number("No Responses", "One Response", "% Responses" );?> to %u201C<?php the_title(); ?>%u201D</h3>      <ol >      <?php wp_list_comments(); ?>      </ol>      <div >      <div ><?php previous_comments_link() ?></div>      <div ><?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 >Comments are closed.        <?php endif; ?>      <?php endif; ?>  

comments.php %%%中查找此代码%%%:直接在此代码下面添加以下代码:

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

使用以下代码替换上面的代码:

  <?php if ( ! empty($comments_by_type["comment"]) ) : ?>  [/php    Once you have added the above code then find this code:      <?php wp_list_comments(); ?>  

现在,如我们在示例循环中看到的那样有序列表的代码看起来像

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

直接在此代码下面添加:

  </ol>  

直接在此代码下方添加:

  <?php endif; ?>  

现在通过添加endif标记,如果您没有任何注释,则不会显示有序列表。现在让我们继续将ping添加到注释中。

在下面添加以下代码,或者您想要显示它。它将显示ping。

      <?php if ( ! empty($comments_by_type["pings"]) ) : ?>      <h3 >Trackbacks/Pingbacks</h3>      <ol >      <?php wp_list_comments("type=pings"); ?>      </ol>        <?php endif; ?>  

现在,当你拥有它时,它将显示引用,但它将像注释一样显示它们。现在你可能想把它们显示为列表,因为其他明智的你只是在浪费空间。所以这就是你如何做到这一点。

只需打开你的主题文件夹中的 functions.php 并在其中添加以下函数:

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

此功能可让您将ping显示为列表,而不是像注释一样显示。但你必须做更多的事情。

打开你的comments.php并找到这段代码:

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

将其替换为:

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

现在示例循环的最终副本将看看这个:

      <?php if ( have_comments() ) : ?>      <?php if ( ! empty($comments_by_type["comment"]) ) : ?>      <h3 ><?php comments_number("No Responses", "One Response", "% Responses" );?> to %u201C<?php the_title(); ?>%u201D</h3>      <ol >      <?php wp_list_comments("type=comment"); ?>      </ol>        <?php endif; ?>        <?php if ( ! empty($comments_by_type["pings"]) ) : ?>      <h3 >Trackbacks/Pingbacks</h3>      <ol >      <?php wp_list_comments("type=pings&callback=list_pings"); ?>      </ol>        <?php endif; ?>      <div >      <div ><?php previous_comments_link() ?></div>      <div ><?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 >Comments are closed.        <?php endif; ?>      <?php endif; ?>  

相关推荐

发表回复

房先生
我们将24小时内回复。
2024-05-10 13:51:46
您好,有任何疑问请与我们联系!
您的工单我们已经收到,我们将会尽快跟您联系!
[QQ客服]
2781198
加我微信
[电话联系]
13585372227
[电子邮件]
chaoneo@163.com
取消

选择聊天工具: