Facebook插件显示现有评论

时间:2013-06-01 作者:Odys

安装了官方facebookplugin 而且似乎在起作用。问题是,现有评论在facebook评论表单上方仍然可见(默认样式)。

我的comments.php 现在是空的,我看到了这个。(希腊文本很抱歉,没有时间更改)。我清空了它,因为我知道没有合并的可能,所以转移到这个网站上的fb评论时代。

有没有一种方法可以完全删除现有的评论,或者至少对它们进行样式化并将它们移到fb评论之后?我在插件的后台没有看到任何选项。

enter image description here

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

我不使用这个插件,但它看起来this comment templateloaded 具有

add_filter( \'comments_template\', array( \'Facebook_Comments\', \'comments_template\' ) );
此注释模板的简化结构如下所示:

if ( have_comments() ) :
    // ...
    wp_list_comments( $_comment_options );
    // ...
endif; 

$_facebook_comments = Facebook_Comments::comments_box();
if ( $_facebook_comments ) {
       do_action( \'facebook_comment_form_before\' );
       echo \'<div id="respond">\';
       echo $_facebook_comments;
       echo \'</div>\';
       do_action( \'facebook_comment_form_after\' );
}
那么你可以试着让have_comments() 回来false 跳过WordPress注释部分。

检查核心,我们find 即:

function have_comments() {
    global $wp_query;
    return $wp_query->have_comments();
 }
其中,类方法定义为

function have_comments() {
    if ( $this->current_comment + 1 < $this->comment_count ) {
        return true;
    } elseif ( $this->current_comment + 1 == $this->comment_count ) {
         $this->rewind_comments();
    }

    return false;
}
然后你可以试试

function skip_wp_comments() {   
    global $wp_query;
    $wp_query->current_comment = 999; // large number
}
add_action( \'template_redirect\', \'skip_wp_comments\' );
出租have_comments() 回来false.

如果不起作用,您可以覆盖comments_template 筛选以使用您自己的模板或尝试使用comment_count 部分

结束

相关推荐

子主题中的Comments.php更改不会显示在站点上

我正在尝试自定义评论中的评论模板。php和so对代码进行了一些更改,包括wp\\u list\\u comments()中的回调函数(我在functions.php中定义了该函数)所有这些更改在我的本地开发机器上都可以正常工作,但不知何故,当我上传评论时,我看不到任何更改。php和函数。php在我的主题文件夹的根目录中。我尝试过取消激活和重新激活所有插件,但仍然没有成功。现在我快发疯了。有人知道可能出了什么问题吗?