WordPress: создайте собственную тему - comments.php

Я создаю свою собственную тему WordPress и борюсь с файлом comments.php, Есть много руководств, доступных в Интернете, но я пока не могу найти свой ответ.

Я стараюсь привести пример как можно более исчерпывающим.

Когда я создаю тему для WooCommerce, я использую методологию ловушек, поэтому у меня есть код "по умолчанию", который я настраиваю, используя HTML и CSS в соответствии со своими потребностями.

Я пытался адаптировать ту же логику в отношении comments.php файл в конструкции моей темы. Я нашел только это онлайн:

Код:

if ( post_password_required() ) {
  return;
}
?>

<div id="comments" class="comments-area">

  <?php if ( have_comments() ) : ?>
    <h2 class="comments-title">
      <?php
        $comments_number = get_comments_number();
        if ( '1' === $comments_number ) {
          /* translators: %s: post title */
          printf( _x( 'One commento su &ldquo;%s&rdquo;', 'comments title', 'twentysixteen' ), get_the_title() );
        } else {
          printf(
            /* translators: 1: number of comments, 2: post title */
            _nx(
              '%1$s commento su &ldquo;%2$s&rdquo;',
              '%1$s commenti su &ldquo;%2$s&rdquo;',
              $comments_number,
              'comments title',
              'twentysixteen'
            ),
            number_format_i18n( $comments_number ),
            get_the_title()
          );
        }
      ?>
    </h2>

    <?php the_comments_navigation(); ?>

    <ol class="comment-list">
      <?php
        wp_list_comments( array(
          'avatar_size' => 42,
        ) );
      ?>
    </ol><!-- .comment-list -->

    <?php the_comments_navigation(); ?>

  <?php endif; // Check for have_comments(). ?>

  <?php
    // If comments are closed and there are comments, let's leave a little note, shall we?
    if ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) :
  ?>
    <p class="no-comments"><?php _e( 'Comments are closed.', 'twentysixteen' ); ?></p>
  <?php endif; ?>

  <?php
    comment_form( array(
      'title_reply_before' => '<h2 id="reply-title" class="comment-reply-title">',
      'title_reply_after'  => '</h2>',
    ) );
  ?>

</div><!-- .comments-area -->

Когда я иду читать, я не могу найти инструкции, как позвонить get_avatarили другие функции.

Мой вопрос: есть ли общий файл, в котором я могу получить все настройки по умолчанию для комментариев и функции формы?

1 ответ

Стек действительно ожидает, что кто-то проведет небольшое исследование и сначала попытается задать вопрос. Уже есть много ресурсов, чтобы помочь вам.

В кодексе Wordpress есть примеры того, как использовать каждую функцию, например, делает ли она что-то или возвращает результат. например: https://codex.wordpress.org/Function_Reference/get_avatar сказать, что он возвращает:

Элемент img для аватара пользователя или false при ошибке. Функция ничего не выводит; Вы должны повторить возвращаемое значение

Темы WordPress по умолчанию (например, двадцать девятнадцать) следуют аналогичным структурам с шаблонами. Это не просто настройки, это код. Темы могут делать разные вещи, но обычно ожидается, что они будут делать определенные вещи в каждом шаблоне. Например: для того, что должен делать comments.php, смотрите https://codex.wordpress.org/Theme_Development

Форма комментариев поясняется здесь https://codex.wordpress.org/Function_Reference/comment_form

Перечитайте одну тему разработки. https://developer.wordpress.org/themes/basics/template-hierarchy/.

Любая функция, о которой вы хотите узнать больше, просто поиск по ней (возможно, с ключевым словом wordpress), и вы должны найти много информации.

Другие вопросы по тегам