it-swarm.com.de

Kommentar vollständig ausblenden (vorzugsweise ohne CSS)

Ich muss das Kommentarformular bedingt nicht anzeigen.

Ich habe comment_form_defaults wie folgt einen Filter hinzugefügt:

function dont_show_comments($defaults) {
  $defaults = array(
    'fields'               => array(),
    'comment_field' => '',
    'must_log_in'          => '<p class="must-log-in">' .  sprintf( __( 'You must be <a href="%s">logged in</a> to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
    'logged_in_as'         => '',
    'comment_notes_before' => '',
    'comment_notes_after'  => '',
    'id_form'              => 'commentform',
    'id_submit'            => 'hide',
    'title_reply'          => __( 'You need to have accepted the terms to leave a reply' ),
    'title_reply_to'       => __( 'Leave a Reply %s' ),
    'cancel_reply_link'    => __( 'Cancel reply' ),
    'label_submit'         => '',
   );

return $defaults;
}

Dies funktioniert meistens, aber ich habe noch einen unbeschrifteten Button (den Submit-Button).

Was ist der beste Weg, um das Formular überhaupt nicht anzuzeigen - am besten über einen Haken und am besten ohne CSS.

3
anu

Ich kann mir nur folgende Möglichkeiten vorstellen, um dies zu erreichen.

  1. Es gibt einen Filter " comments_open ", der prüft, ob für den Beitrag, dessen $ post_id angegeben ist, Kommentare offen sind. Damit können Sie false zurückgeben.
  2. Es gibt einen weiteren Filter " comments_template ", der die Vorlagendatei zurückgibt, die zum Anzeigen des Kommentarformulars verwendet werden soll. Sie können eine leere Datei zurückgeben, sodass kein Kommentarformular angezeigt wird.
  3. Die andere Möglichkeit besteht darin, den comment_status für das $ post-Objekt so festzulegen, dass es geschlossen wird, bevor das Kommentarformular angezeigt wird. Dadurch wird verhindert, dass das Thema das Kommentarformular anzeigt, selbst wenn es das fest codierte Kommentarformular verwendet.
3