» » » Как добавить форму комментариев на страницы WordPress
logotip

Как добавить форму комментариев на страницы WordPress

Всем привет! Сегодня на SEO-Mayak.com мы продолжим настраивать WordPress и узнаем, как добавить форму комментариев на страницы.

Вы наверное раз заходили к кому-нибудь на страничку «Обо мне» или «О Блоге» или на другие информативные страницы, где авторы пишут о себе и о своем проекте

Нередко, проникшись симпатией к человеку, появляется желание написать ему несколько приятных строк, но к сожалению под статьей мы не обнаруживаем форму комментариев. А ведь согласитесь, хорошие комментарии будут не лишними на блоге.

forma kommentariev na stranice

Я уже писал о важности комментариев в статье «Подписка на комментарии. Плагин Subscribe To Comments«, и в статье «Благодарим посетителя за первый комментарий«.

Поэтому надо всеми силами нашаривать количество комментариев на блоге, проводя конкурсы, устраивать дискуссии со своими читателями и поверьте, чем больше  комментируют Ваши статьи, тем сильнее будут Вас любить поисковые системы.

Не зря же у Яндекса для индексации комментариев работает отдельный робот — YandexBlogs. О роботах Яндекса я писал в статье «Файл robots.txt — запрет индексации для Яндекса и Google. Создание правильного robots.txt для WordPress»

И все же, почему там случается, почему нет формы комментариев на страницах? Все очень просто. Во всех шаблонах WordPress есть функция вывода формы комментариев к записям, а вот странички часто не заслужено «обижают», но поправить это можно и даже нужно.

Вот и у меня наконец дошли руки, чтобы добавить форму комментариев на страничку «Обо мне». Чем мы сейчас и займемся.

Как добавить форму комментариев на страницы

На самом деле, чтобы вывести форму комментариев на страничках блога, ничего сверх сложного делать не придется.

За вывод функции комментариев отвечает следующий код:

<?php comments_template(); ?>

Точно такой же код выводит форму комментариев и в записях.

Для редактирования файлов советую, вместо встроенного редактора WordPress, пользоваться текстовым редактором Notepad++ .

Редактировать файлы следует не на самом сервере, а в скачанной с помощью FTP клиента на свой домашний компьютер полной копии блога. Как это делается я подробно описывал в статье «FTP клиент Filezilla»

Если открыть файл single.php, отвечающий за раздел, в котором выводятся все записи нашего блога, то можно посмотреть, где расположен код. Находится файл single.php в папке с нашей темой: wp-content -> themes -> название темы -> single.php

kommentarii na stranice

Вот он «родной», подчеркнутый красным.

И теперь нам надо вставить этот код в другой файл, который отвечает за страницы блога и называется он page.php. Путь к нему выглядит также.

Открываем для редактирования файл page.php и ищем в нем знакомую строчку:

<?php endwhile; else: ?>

И перед ней вставляем код вывода формы комментариев:

<?php comments_template(); ?>

Сохраняем любуемся только что проделанной работой.

Но сразу же возникает другая проблема. Появляется форма комментариев на страничке с картой сайта, обратной связью и так далее, которая в принципе там не нужна.

Да уж проблема! Да не проблема это вовсе, просто на этих страницах надо отключить комментирование.

Как это сделать? Да очень просто. Идем админка блога -> все страницы -> карта сайта и в левом верху ищем вкладку «Настройки экрана»

kommentarii na stranice

Нажимаем и сверху выпадет панель с настройками:

kommentarii na stranice

Где на надо поставить галочку возле строчки «Обсуждение».

Далее обращаем свое внимание на появившийся в низу, сразу после окна редактора WordPress, одноименный раздел.

kommentarii na stranice

В котором мы просто убираем галочку возле строчки «Разрешить комментарии». Сложного ничего нет, только теперь надо проделать данную процедуру со всеми страницами, где комментарии придутся не к месту.

Не трудно догадаться, что таким образом можно отключать возможность комментирования и к некоторым записям, но это очень редко когда требуется.

В будущем будут еще выходить статьи связанные с повышением функционала комментирования, так что советую подписаться на обновления блога

До встречи!

С уважением, Виталий Кириллов

Комментарии: 86

  1. Алексей Виноградов:

    Интересно было бы почитать про то, как убрать ссылки вида ?replytocom= из древовидных комментариев. Нужен хак!

    Ответить
    • Виталий Кириллов:

      Здравствуйте Алексей, рад снова видеть Вас на блоге. Мне только не понятно зачем их убирать? Ясно, что они создают дубли страниц, в таком случаи достаточно прописать в файле robots.txt две директивы: [php]Disallow: /*?*
      Disallow: /*?[/php]
      Я думаю на этом проблема будет решена!

      Ответить
      • Алексей Виноградов:

        как бы не так! гугл хранит все эти дуюли в сопливом кэше и плюс долго индексирует сайты, т.к. у него уходит много времени на обход всех этих ссылок, плюс хостинг нагружает! В Яндексе порядок. Есть плагин «SEO by Yoast», там есть опция убирания этих ссылок. Вот бы такой хак отдельно от плагина придумать.

        Ответить
        • Виталий Кириллов:

          Надо будет поразмыслить над этим!

          Ответить
          • Виталий Кириллов:

            Алексей, а Вы не пробовали после запрета в файле robots.txt удалить эти URL адреса через инструменты вебмастера Google. Панель вебмастера -> Ваш сайт -> Оптимизация -> Удалить URL адреса?

            Ответить
  2. Людмила Алешина:

    Виталий, для меня это всё тёмный и страшный лес, даже боюсь заходить в папки сайта))) Но, скажите, пожалуйста, плагин с древовидными комментариями активировала и лучших комментаторов, но до конца, видимо, не настроила, нужен ли он сайту, может вполне можно обойтись старыми настройками? И ещё, у Вас есть статья об ответных комментированиях,настроенных плагином Thank Me Later, дело в том, что если я начинаю благодарить за комментарий, оказываюсь самой разговорчивой на собственном сайте, как отключить саму себя, родную? И ещё: С большой благодарностью написала о Вашем сайте статью: Вот это сервис! В частности, о сокращении картинок и фотографий, приглашаю в гости, жду Вашего мнения)))

    Ответить
    • Виталий Кириллов:

      Людмила, зайдя к вам на блог я поразился Вашим вкусом — очень красиво все оформлено. К сожалению на Вашем блоге не все в порядке, очень много мягко сказать недоработок, которые сильно влияют на развитие Вашего проекта. Про плагин Thank Me Later я знаю, он у меня был установлен на кулинарном блоге и я его убрал, по причине аналогичной с птичкой 🙂 и Вам того же советую. В общем напишите мне на e-mail через форму обратной связи и я Вам дам несколько советов, так как я не хочу публично обсуждать столь деликатные моменты. На ваш вопрос — «Как отключить себя родную» я задам встречный — как Вы выводили форму лучших комментаторов: с помощью кода или плагина? Обычно прописывается свой E-mail и Вы перестаете быть лучшим комментатором.

      Ответить
  3. Алексей Виноградов:

    не пробовал, т.к. это запрещают правила использования данного инструмента. К тому же, там вроде по одному урлу только удалять, по маске нельзя. Тут надо что-то другое, чтобы робот сам убрал все эти ссылки из индекса, а потом удалить сами ссылки с сайта. Я кое что уже сделал по примеру западных блогов. теперь буду следить за положительным результатом

    Ответить
    • Виталий Кириллов:

      Я так полагаю Алексей, что вы открыли индексацию этих страниц в robots.txt но запретили в их в вебмастере Гугла. Я правильно Вас понял?

      Ответить
      • Алексей Виноградов:

        точно

        Ответить
        • Виталий Кириллов:

          Алексей, вы уж или вопросительные знаки ставьте или восклицательные, а то так ни я ни читатели не поймут, что вы имели ввиду 🙂

          Ответить
      • Алексей Виноградов:

        wordpress сам генерирует на каждой странице тэг noindex для роботов, а он более «мощный», чем директива в robots.txt

        Ответить
  4. Алексей Виноградов:

    Да и толку что ты их удалишь — новые появятся. Нужно кардинальное решение проблемы

    Ответить
    • Виталий Кириллов:

      Как кардинальное решение могу предложить редирект через .htaccess У меня такой проблемы нет, но пишут, что помогает/ По крайней мере дубля точно не будет!
      [php]RewriteCond %{QUERY_STRING} replytocom=
      RewriteRule ^(.*)$ /$1? [R=301,L][/php]

      Ответить
  5. Оксана:

    Как интересно! Полезная статья!
    Прочитала Людмилин коммент)) Чувствую себя так же- как в темном и страшном лесу))
    А лошадка у нее красивая, в смысле Единорог!

    Ответить
    • Виталий Кириллов:

      Здравствуйте Оксана, рад видеть Вас на блоге! В темном и страшном лесу мне безумно интересно! 🙂

      Ответить
  6. Алексей Виноградов:

    спасибо за наводку, новая статья, не видел раньше. Но я всё же думаю что мой метод сработает тоже, и при этом не будет кучи редиректов, которые тоже не есть гуд. Ведь у западного блоггера сработало ведь. Те кто пишет что у них это не помогает, они не открывают индексацию в robots.txt. Посмотрим.

    Ответить
    • Виталий Кириллов:

      Алексей, это даже хорошо что я выбрал один вариант, а ты другой. Потом посмотрим, что как работает и будет больше информации!

      Ответить
  7. Алексей Виноградов:

    и всё равно потом нужен будет хак чтобы убрать все эти ссылки со страниц вообще 🙂

    Ответить
    • Виталий Кириллов:

      Посмотрим, может что и откопаю 🙂

      Ответить
  8. Анна:

    Виталий, у меня с этими комментариями большие проблемы. Ну никак не удается сделать их в виде древовидных и получить возможность делать «ответ» на конкретный комментарий. Садятся они по времени и метятся цифрами. 1, 2, 3 и т.д. И никак это не убирается. Я уже и то делала, и это

    Ответить
    • Виталий Кириллов:

      Здравствуйте Анна, возможно у Вас шаблон не поддерживает Древовидные комментарии, хотя надо разбираться детально!

      Ответить
  9. Виталий:

    Google — это крупный и своеобразный товарищ. Как уже писал в статье: выкидывает очень медленно.
    Кому не в терпежь, могут руками удалить лишние ссылки в панели вебмастера.

    Ответить
    • Виталий Кириллов:

      Здравствуйте Виталий! Рад видеть Вас на блоге. Я как раз воспользовался редиректом по Вашему совету.

      Ответить
  10. Наталья:

    Алексей, а Вы не пробовали после запрета в файле robots.txt удалить эти URL адреса через инструменты вебмастера Google. Панель вебмастера -> Ваш сайт -> Оптимизация -> Удалить URL адреса?

    Насчет УДАЛИТЬ… Оставляла ссылку на любопытную статью в скайпе… а вас господин, с высоко задранным носом не дождешься.. Себе хуже делаешь, если что. Потому как даже просто информация бывает очень нужная и полезная. Так вот смысл в том, что то что под запретом индексации невозможно переиндексировать роботу, потому мои картинки не удалились… Сейчас у меня 226 статей показывает и RDS bar и поиск и другой плагинчик браузера. Хотя всего вместе со всеми страницами 180 на блоге. Откуда еще 46 непонятно. Ну да ладно, спасибо за помощь как нибудь разберусь или так жить буду.

    Ответить
  11. Сергей Стрелков:

    Алексей, большое спасибо за статью. В моей новой теме не отображались комментарии к страницам. Решил сегодня устранить этот не достаток. Посмотрел две статьи, попробовал ни чего не получилось. Почитал вашу статью, сделал и все получилось. Все просто и понятно, еще раз спасибо.
    Подпишусь на ваш полезный блог.

    Ответить
    • Виталий Кириллов:

      Сергей, я рад, что мой блог оказался для Вас полезным!

      Ответить
  12. makar1711:

    Спасибо тебе, добрый человек). А Я уже перелапатил сотни страниц в сети в поисках плагина а тут все как всегда просто.

    Ответить
    • Виталий Кириллов:

      Пожалуйста!

      Ответить
  13. Оксана:

    Спасибо за статью!!!

    Ответить
  14. Катя:

    Очень полезная информация. Обязательно приму к сведению.

    Ответить
  15. Оксана:

    Здравствуйте, Виталий! После обновления версии WordPress «потерялась» форма комментариев. В файле single.php все прописано, но выходит ошибка Fatal error: Call to undefined function st_related_posts. Не подскажете, в чем причина?

    Ответить
    • Виталий Кириллов:

      Здравствуйте Оксана! Скорее всего причина кроется в плагине Related Posts. Удалите плагин и все должно восстановиться. Если нет, то пишите.

      Ответить
      • Оксана:

        В данный момент вообще все плагины отключены. Плагин Related Posts удален. Ситуация не изменилась.

        Ответить
      • Оксана:

        Виталий, спасибо, разобралась. Очень трудно плавать в серной кислоте ))

        Ответить
  16. Антонина:

    Виталий, я новичок в деле создания сайта, скажите, пожалуйста, если я правильно поняла без текстового редактора Notepad++ и без скачанной с помощью FTP клиента на свой домашний компьютер полной копии блога, невозможно добавить форму комментариев на страницы сайта? дальше по описанию все не так уж сложно кажется, а вот с этими пунктами, боюсь не справиться.

    Ответить
    • Виталий Кириллов:

      Здравствуйте Антонина! Можно воспользоваться редактором, что находится в админке WordPress: Внешний вид -> Редактор.

      Ответить
  17. Антонина:

    Виталий, а у меня в page.php стоит , а не
    как быть в этом случае?

    Ответить
    • Виталий Кириллов:

      Антонина, вы включили комментирование, в админке?

      Ответить
  18. Антонина:

    Да, Виталий, везде галочки стоят! В теме сайта не предусмотрены комментарии на страницах.

    Ответить
    • Виталий Кириллов:

      Антонина, советую Вам набраться знаний и потом вернуться к данному вопросу. В комментариях я Вам не смогу объяснить что к чему. Мне надо хотя бы взглянуть на файл page.php, но как я понял, Вы не сможете его скачать и прислать мне, так как не умеете обращаться с FTP клиентом.

      Ответить
  19. Антонина:

    Спасибо, Виталий! Буду набираться знаний! 🙂

    Ответить
  20. Антонина:

    Виталий, я все-таки рискнула и попробовала вставить код комментариев в page.php, несмотря на некоторые несовпадения в картинке. Всё получилось!!! Спасибо большое за статью!

    Ответить
    • Виталий Кириллов:

      Как Видите Антонина, смелость города берет! Я рад, что у Вас все получилось.

      Ответить
  21. Алсу:

    Здравствуйте! Вы не могли бы мне помочь! У меня в файле single.php есть только вот такой код:

    а в файле page.php стоит вот такой:

    То есть вроде как все есть, а комментировать можно не все заметки. Если Вам несложно, подскажите пожалуйста в чем тут загвоздка! Благодарю!

    Ответить
    • Виталий Кириллов:

      Здравствуйте Алсу! Воспользуйтесь преобразователем, чтобы защита пропустила код.

      Ответить
  22. Алсу:

    Здравствуйте! Вы не могли бы мне помочь! У меня в файле single.php есть только вот такой код:
    <?php
    // If comments are open or we have at least one comment, load up the comment template
    if ( comments_open() || '0' != get_comments_number() )
    comments_template( '', true );
    ?>
    <?php endwhile; // end of the loop. ?>
    а в файле page.php стоит вот такой:
    <?php while ( have_posts() ) : the_post(); ?>
    <?php get_template_part( 'content', 'page' ); ?> <?php comments_template( '', true ); ?>
    <?php endwhile; // end of the loop. ?>
    То есть вроде как все есть, а комментировать можно не все заметки. Если Вам несложно, подскажите пожалуйста в чем тут загвоздка! Благодарю!

    Ответить
    • Виталий Кириллов:

      Алсу, функция вызова комментариев в файлах single.php и page.php есть.
      Вот она:

      <?php comments_template( '', true ); ?>
      

      Посмотрите в админке, разрешены ли комментарии на данных страницах:

      Ответить
  23. Алсу:

    Там все галочки проставлены, там я первым делом просмотрела! Спасибо!

    Ответить
  24. Наталья Грамоткина:

    Здравствуйте, никак не получается вывести форму комментариев на страницах. Делала все как описано в статье, и галочки в настройках все стоят. Но формы как не было так и нет…Подскажите, как еще можно ее вывести? спасибо.

    Ответить
    • Виталий Кириллов:

      Здравствуйте Наталья! шаблоны все разные, поэтому я не могу вам дать точные рекомендации.

      Ответить
  25. Светлана:

    Спасибо вставила на странички себе возможность комментировать. Правда это можно сделать прямо в редакторе. Без входа по ftp. И заняло это считанные секунды!!!

    Ответить
  26. Надежда:

    Сделала, спасибо, правда не все совпало, немного по другому написано было в теме, но я уже привыкла, у меня все не так, может тему уже поменять?

    Ответить
    • Виталий Кириллов:

      На счет темы я вам советовать не могу, каждый воле тему сам выбирать.

      Ответить
  27. Павел:

    Можно ли сделать так, чтобы галочки разрешения комментариев изначально были сняты?

    Ответить
    • Виталий Кириллов:

      Павел, галочки разрешения комментариев, к той или иной записи, снимаются в админке.

      Ответить
  28. Роман:

    А мне вот нужна форма добавления предприятий на ресурс, таким скриптом не поделитесь ?

    Ответить
    • Виталий Кириллов:

      К сожалению Роман такого скрипта у меня нет.

      Ответить
  29. Виктория:

    А можно так сделать, чтоб перед добавлением комментария я могла его как админ удалить или опубликовать?

    Ответить
    • Виталий Кириллов:

      Виктория, идете в админку, далее: Настойки -> Обсуждение -> Перед появлением комментария. Ставите галочку в пункте «Комментарий должен быть одобрен вручную».

      Ответить
  30. Лика:

    Здравствуйте, Виталий.
    Пару месяцев назад начала знакомиться с чудо-Вордпрессом.
    Очень благодарна за Ваши статьи! Я так и php скоро уже освою)))
    У меня вот вопрос по комментам.
    Делаю свою тему на ВП, с полного нуля. Вроде структуру сделала, все работает. А вот комменты по Вашему способу не отображаются почему-то.
    Прочитала что за них отвечает файл comments.php в папке темы, но есть и стандартный ворпресовский. В папку темы я такой файл не добавляла (еще не разобралась что туда писать) а вот почему стандартный не вызывается не пойму.

    Ответить
    • Виталий Кириллов:

      Здравствуйте Лика! А какой функцией вы вызываете вcтроенную в WordPress форму комментариев?

      Ответить
      • Лика:

        Виталий, по Вашей инструкции в файл page.php вставляю <?php comments_template(); ?>
        и тишина…
        Уже и отображать комменты включила, и сама комментов погаписала…
        Куда еще можно копнуть?

        Ответить
        • Виталий Кириллов:

          Лика,встроенную форму комментариев выводит функция comment_form().

          Ответить
          • Лика:

            Виталий, спасибо, получилось!
            Но я еще вернусь с вопросами))) Слишком мало информации о создании своей темы с нуля да еще и для блондинок. Ваш сайт, да еще парочка — самые лучшие, чтобы я без вас делала?

            Ответить
            • Виталий Кириллов:

              Спасибо Лика за добрые слова!

              Ответить
              • Лика:

                Снова я. Ну просто уже принципиально важно разобраться!
                Все работает, стили настроила.
                В файле single.php вот такой блок выводит:
                <div class="testy">
                <?php while (have_posts()): the_post();?>

                <?php
                if ( comments_open() || get_comments_number() ) {
                comments_template();
                }
                ?>
                <?php endwhile; ?>
                </div>

                Почему-то когда я этот же вызов копирую в файл page.php — ничего не выводится? В админке комменты включила.

                Ответить
                • Виталий Кириллов:

                  Лика, надо в каждом случаи разбираться. Ищите, я уверен, что Вы справитесь! Вы правильно сказали, что это «принципиально важно» и я думаю важно, чтобы Вы сами справились.

                  Ответить
  31. Павел:

    Здравствуйте! У меня нет в Paga.php строчки «» — что делать?Вот скопировал, то что я увидел:

    Ответить
  32. Валерий:

    Виталий, добрый день. Подскажите, я сделал все, как указано и вроде все отлично, комментарии появились на страницах. Однако, на страницах, где я запретил комментарии — надпись «комментарии запрещены». Как бы не очень красиво, пришлось опять выключить комментарии. Можно это убрать?

    Ответить
    • Виталий Кириллов:

      Здравствуйте Валерий!
      Темы конечно все разные, но думаю данную строчку надо искать в файле comments.php. Без перевода она может выглядит так: «Comments are closed».

      Ответить
  33. Елена:

    Большое спасибо за советы. Веду блоги с 2009 года и периодически после обновления шаблонов или версий вордпресс функция вывода комментов слетает. Очень рада, что есть ваш сайт, который помогает решить проблему. Успехов вам!

    Ответить
  34. Игорь:

    Здравствуйте. С FiliZila справился. Notepad к ней подключил.Вопрос: «Если открыть файл single.php, » … Где этот файл найти?

    Ответить
    • Виталий Кириллов:

      Здравствуйте Игорь!
      Путь такой: wp-content/themes/Название вашей темы/single.php

      Ответить
      • Игорь:

        Спасибо. Вот добавил: prntscr.com/cvq8vw А как обратно всё это закачать ?

        Ответить
        • Виталий Кириллов:

          Просто закачиваете файл на сервер, в ту же директорию и в появившемся сообщении выбираете «заменить».

          Ответить
  35. Игорь:

    Благодарю. Что там сделал и комментарии на страницах появились.

    Ответить
  36. Игорь:

    Такой вопрос. На Вордпрессе есть кнопка «Забыли пароль». Есть мнение, что почти любой желаюший может нажать эту кнопку, и если у него есть доступ к моей почте, он может зайти м поменять пароль к Вордпрессу. Можно ли убрать эту кнопку ? prntscr.com/cvxg33

    Ответить
  37. Стас:

    А у вас есть гайд по установке сервиса для комментирования GetRate?

    Ответить
  38. Николай:

    У меня разрешены комментарии в настройках обсуждения, в свойствах записей, в настройках экрана. Форма присутствует и заполняется. Но при отправке wordpress выдает, что страница не найдена и комментарии не сохраняются.

    Ответить
  39. Алексей:

    Спасибо!

    Ответить
  40. Алекс:

    Здравствуйте, Игорь! Спасибо за полезную статью. Недавно наткнулся на реально крутой плагин (AnyComment) с возможность авторизации через ОК и ВК. Пока еще тыкаюсь конечно, но полет отличный! Надеюсь, что скоро выйдет еще больше функций!! Пробовали такой?

    Ответить
    • Николай:

      Создатель плагина не палится аватаркой, крутой крауд-маркетинг. Хотя плагин ничего такой)

      Ответить

Оставить комментарий

Внимание комментатор! Прежде чем вставить: HTML, JavaScript или PHP код в свой комментарий, преобразуй его в html сущность!

Subscribe without commenting

» Подписаться на комментарии по RSS