it-swarm.com.de

Facebook Plugin zeigt vorhandene Kommentare an

Installierte das offizielle Facebook Plugin und scheint zu funktionieren. Das Problem ist, dass vorhandene Kommentare (mit Standardstil) über dem Facebook-Kommentarformular weiterhin sichtbar sind.

Mein comments.php ist jetzt leer und ich sehe das. (Entschuldigung für den griechischen Text, keine Zeit ihn zu ändern). Ich habe es geleert, weil ich weiß, dass keine Zusammenführung möglich ist, und bin deshalb auf die Ära fb-comments only auf dieser Site übergegangen.

Gibt es eine Möglichkeit, die vorhandenen Kommentare vollständig zu entfernen oder zumindest zu formatieren und nach fb zu verschieben? Ich sehe keine Option im Backoffice des Plugins.

enter image description here

1
Odys

Ich benutze dieses Plugin nicht, aber es sieht so aus , als ob diese Kommentarvorlagegeladen ist mit

add_filter( 'comments_template', array( 'Facebook_Comments', 'comments_template' ) );

Die vereinfachte Struktur dieser Kommentar-Vorlage sieht folgendermaßen aus:

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' );
}

Dann könnten Sie versuchen, have_comments()false zurückgeben zu lassen, um den WordPress-Kommentarteil zu überspringen.

Beim Überprüfen des Kerns stellen wir fest , dass:

function have_comments() {
    global $wp_query;
    return $wp_query->have_comments();
 }

wobei die Klassenmethode definiert ist als

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

Sie können es dann versuchen

function skip_wp_comments() {   
    global $wp_query;
    $wp_query->current_comment = 999; // large number
}
add_action( 'template_redirect', 'skip_wp_comments' );

damit have_comments()false zurückgibt.

Wenn das nicht funktioniert, können Sie den comments_template-Filter überschreiben, um Ihre eigene Vorlage zu verwenden, oder versuchen, mit dem comment_count-Teil zu spielen.

2
birgire