我应该如何在处理回复时获得原始评论

时间:2014-05-26 作者:LoomyBear

我正在为我的模板制作评论部分。我需要这样做:


Comment:<这是我的原始评论,这是我对原始评论的回复


所以我想在回复原始评论的评论中引用原始评论。我var_dumped经历了一切get_the_comment(); 返回,但找不到对初始注释的任何引用。

你能帮我一下吗?干杯

2 个回复
SO网友:kaiser

注释/回复ID是表单实际发送的值。您可以通过$_GET:

// Default is "no reply" eq. 0
$id = 0;
// Handle replies
if ( isset( $_GET[\'replytocom\'] ) )
{
    $id = filter_var(
        $_GET[\'replytocom\'],
        FILTER_VALIDATE_INT,
        # or:
        # FILTER_SANITIZE_NUMBER_INT
        array(
            \'options\' => array(
                \'min_range\' => 1,
            ),
            # @link http://www.php.net/manual/en/filter.filters.flags.php
            # \'flags\'   => \'\',
        )
    );
    if ( FALSE === $id )
        break;

    $id = absint( $_GET[\'replytocom\'] )
}
然后您可以访问回复-$id.

SO网友:LoomyBear

好吧,我的错!

我查过了什么get_comments(); 返回,我发现comment_parent 包含初始注释ID的字段。因此,为了添加您想要回复的评论引用,您需要执行以下操作:

<?php
    $pid = get_the_id();            
    $comments = get_comments(\'post_id=\'.$pid);

    foreach ( $comments as $comment ) {         
        $cpid = $comment->comment_parent; // Getting the ID of the parent comment
        $comment_parent = get_comment( $cpid );

        // Do comment rendering here
        ...
    }
?>
抱歉打扰大家了。我希望这会对将来的人有所帮助。干杯

结束

相关推荐

Disable comments

我想知道是否有任何方法可以阻止用户留下评论,但仍然显示评论表单?因此,无论何时发布新评论,都应该自动将其丢弃,或者根本不应该添加。我的评论表单仅用于演示目的,它不应该接受任何评论,但应该显示出来。我已经找到了preprocess_comment 和comment_post hooks,但我不知道如何利用它来阻止评论。我在想这样的事情:function prefix_delete_comments( $comment_id ) { wp_delete_comment( $comment_id,