在2011年中将trackback与评论分开显示

时间:2012-10-23 作者:markratledge

如何在twentyeleven注释循环之外显示trackback(链接和日期)?

下面的函数来自于twentyeleven函数。php文件。我使用的是标准注释。来自twentyeleven的php文件,以及使用时在注释下显示的trackback<?php comments_template( \'\', true ); ?> 在模板文件中。我可以删除它,but while keeping the normal comments display, how do I display pings in other areas of a template file all by themselves?

(是的,我正在使用儿童主题。)

if ( ! function_exists( \'twentyeleven_comment\' ) ) :
/**
 * Template for comments and pingbacks.
 */
function twentyeleven_comment( $comment, $args, $depth ) {
    $GLOBALS[\'comment\'] = $comment;
    switch ( $comment->comment_type ) :
        case \'pingback\' :
        case \'trackback\' :
    ?>
    <li class="post pingback">
        <p><?php _e( \'Pingback:\', \'twentyeleven\' ); ?> <?php comment_author_link(); ?><?php edit_comment_link( __( \'Edit\', \'twentyeleven\' ), \'<span class="edit-link">\', \'</span>\' ); ?></p>
    <?php
            break;
        default :
    ?>

2 个回复
最合适的回答,由SO网友:bueltge 整理而成

使用type函数中的参数wp_list_comments().复制注释。php到您的子主题。搜索wp_list_comments. 查找此项:

    <ol class="commentlist">
        <?php
            /* Loop through and list the comments. Tell wp_list_comments()
             * to use twentyeleven_comment() to format the comments.
             * If you want to overload this in a child theme then you can
             * define twentyeleven_comment() and that will be used instead.
             * See twentyeleven_comment() in twentyeleven/functions.php for more.
             */
            wp_list_comments( array( \'callback\' => \'twentyeleven_comment\' ) );
        ?>
    </ol>
使用参数更改此选项,如下所示:

    <ol class="commentlist">
    <?php
        // only comments
        wp_list_comments( array( \'type\' => \'comment\', \'callback\' => \'twentyeleven_comment\' ) );

        // only pingbacks
        wp_list_comments( array( \'type\' => \'pingback\', \'callback\' => \'twentyeleven_comment\' ) );
    ?>
    </ol>
也可以使用参数值pings, 有trackback和pingback;也许您将只显示pingback,然后使用值pingback 对于value参数。您还可以将html的标记更改为输出中的更多差异。

如果您将pingback和注释分别放在不同的区域,那么就这样。

<ol class="commentlist">
    <?php
        wp_list_comments( array( \'type\' => \'comment\', \'callback\' => \'twentyeleven_comment\' ) );
    ?>
</ol>
<ol class="pingbacklist">
    <?php
        wp_list_comments( array( \'type\' => \'pingback\', \'callback\' => \'twentyeleven_comment\' ) );
    ?>
</ol>
现在是上面代码的结果截图:enter image description here

最后,参数type以及他的可能性:

$type - (字符串)(可选)

要显示的注释类型。可以是\'all\', \'comment\', \'trackback\', \'pingback\', 或\'pings\'. \'pings\'\'trackback\'\'pingback\' 在一起

默认值:\'all\'

SO网友:versvs

在您的评论中。php(子主题)您可以使用以下内容:

<ol class="commentlist">
            <?php
                /* Loop to show comments  */
                wp_list_comments(\'type=comment&avatar_size=64\');
            ?>
        </ol>
然后对ping执行同样的操作。。。

<ol class="commentlist">
            <?php
                /* Loop to show pings  */
                wp_list_comments(\'type=pings\');
            ?>
        </ol>

结束

相关推荐

Functions.php:从博客中排除类别

所以很明显,如何从模板中排除某些类别,但我不想修改4个模板,使它们忽略某个类别。有没有一种方法可以将某个类别从阅读设置的“博客”集中排除?我正在将博客分配到名为“博客”的页面。。。但显然,档案和搜索也需要对这一超出类别的内容视而不见。我宁愿在里面做functions.php