Was sind die aktuell empfohlenen Best Practices für comments.php?

Ich bereite mich darauf vor, ein Thema in das .Org-Repo einzutragen und wollte sicherstellen, dass alles in Ordnung ist. Eines der größten Löcher in meinem Design ist die Kommentarvorlage.

Ich habe mir in ein paar Themen die Kommentare.php angesehen, Twenty Ten Chef unter ihnen und bin verwirrter weggekommen als zu Beginn. Es scheint, als ob die Kommentare Vorlage (basierend auf Tutorials von Otto, WP Engineer, etc.) vereinfacht wurde, aber wenn ich die Quelle zu den Kommentaren.php der meisten Themen ansehe, sind sie immer noch so verschachtelt wie in der Christian-Montoya – abgeleitete Tage alt.

Also helfen Sie mir – was ist der beste Weg, um eine Kommentarvorlage zu erstellen, die die State-of-the-Art-functionalität ab WP 3.0 / 3.1 erfasst und trotzdem die Einfachheit des Codes beibehält?

Solutions Collecting From Web of "Was sind die aktuell empfohlenen Best Practices für comments.php?"

Du brauchst wirklich nicht viel.

Eine Überschrift mit id = Kommentare

< ?php comments_number(); ?>

Dies ist das Ziel für comments_link() in der Artikelschleife.

Links für paginierte Kommentare.

Normalerweise lege ich diese Links in eine function und rufe die function oberhalb und unterhalb der Kommentarliste auf:

 class TTT_Template { function comment_pager() { if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) { ?> 
< ?php } } }

wp_list_comments ()

Sie können eine benutzerdefinierte callbackfunktion verwenden, müssen dies aber nicht tun. Für ein Thema auf wp.org würde ich beim Callback Gravatare verwenden. Und ich würde es nicht mit my_ . 😉

 
    < ?php wp_list_comments( array ( 'type' => 'comment' , 'style' => 'ul' , 'callback' => 'my_comment_callback' ) ); ?>

Wie Sie sehen können, können Sie mit dem Parameter type normale Kommentare von Pings trennen. Weitere Informationen finden Sie im Codex . Wenn Sie zwei separate Listen get_option( 'default_ping_status' ); , überprüfen Sie get_option( 'default_ping_status' ); um eine leere Liste zu vermeiden.

Kommentarformular ();

Sie können die Standardeinstellungen verwenden oder eigene Filter hinzufügen. Ich benutze eine benutzerdefinierte class , um das Textfeld nach oben zu verschieben und einige kleinere Dinge neu zu ordnen.

 if ( comments_open( get_the_ID() ) ) { locate_template( array ( '/php/class.TTT_Comment_Form.php' ), TRUE, TRUE ); $ttt_comment_class = new TTT_Comment_Form(); comment_form(); } 

Und das ist alles.

Kompletter Code

 < ?php if ( ! defined('ABSPATH') ) { die ('Nö.'); } if ( have_comments() ) { ?>

< ?php comments_number(); ?>

< ?php TTT_Template::comment_pager(); ?>
    < ?php wp_list_comments( array ( 'type' => 'comment' , 'style' => 'ul' , 'callback' => 'my_comment_callback' ) ); ?>
< ?php TTT_Template::comment_pager(); } if ( comments_open( get_the_ID() ) ) { locate_template( array ( '/php/class.TTT_Comment_Form.php' ), TRUE, TRUE ); $ttt_comment_class = new TTT_Comment_Form(); comment_form(); }

Verwenden Sie Disqus