Методы и примеры кода для цикла WordPress «comments.php»

Файл «comments.php» в WordPress отвечает за отображение и управление комментариями к сообщениям блога или другим типам контента. Файл обычно содержит цикл, который перебирает комментарии и отображает их в соответствии с указанным шаблоном. Вот несколько методов, обычно используемых в файле «comments.php»:

  1. Базовый цикл:

    <?php
    if ( have_comments() ) {
    while ( have_comments() ) {
        the_comment();
        // Display comment content
    }
    }
    ?>
  2. Пользовательский шаблон комментария:

    <?php
    function custom_comment_template( $comment, $args, $depth ) {
    // Custom comment template code
    }
    ?>

    В вашем файле “comments.php” вы можете использовать функцию wp_list_comments()с параметром callback, установленным для вашей пользовательской функции шаблона комментария:

    <?php
    wp_list_comments( array(
    'callback' => 'custom_comment_template',
    ) );
    ?>
  3. Вложенные комментарии:
    Чтобы включить вложенные (связанные) комментарии, вам необходимо добавить их поддержку в файл functions.phpвашей темы:

    <?php
    function enable_nested_comments() {
    if ( is_singular() && comments_open() && ( get_option( 'thread_comments' ) == 1 ) ) {
        wp_enqueue_script( 'comment-reply' );
    }
    }
    add_action( 'wp_enqueue_scripts', 'enable_nested_comments' );
    ?>

    Затем в файле «comments.php» вы можете изменить цикл, включив в него многопоточность:

    
    <?php
    if ( have_comments() ) {
    wp_list_comments( array(
        'callback' => 'custom_comment_template',
        'style'    => 'ol',
        'avatar_size' => 50,
        'short_ping'  => true,
        'reverse_top_level' => true,
    ) );
    }
    ?>
  4. Форма комментариев:
    Чтобы отобразить форму комментариев, вы можете использовать функцию comment_form()в файле «comments.php»:

    <?php
    comment_form();
    ?>