Заместванията добавят коментар коментар. Фина настройка на формата за коментари

Наскоро се рових из файловете си. WordPress теми, а именно правилата за шаблона за показване на коментари, по пътя разбиране на неговата структура и различни функции, отговорни за показване на коментари в публикации в блогове. В резултат на това промених стандартния изход, създадох и включих собствения си файл comments.php. Реших да издам резултата под формата на статия, тъй като разбрах добре тази тема и имаше доста материал.

Надявам се, че тази статия ще бъде полезна за собствениците на WordPress блогове, запознати с HTML, CSS и PHP.

***

В WordPress, за да свържете шаблон за коментар към публикация или страница, се използва функцията comments_template(), която приема два параметъра:

  • първият е пътят до шаблонния файл, по подразбиране е comments.php в папката с текущата тема
  • вторият се използва за разделяне на коментари по тип (обикновени, обратни връзки и обратни пингове), невярно по подразбиране

Нека вмъкнем comments_template() след публикация в шаблон за публикация single.php или шаблон за страница page.php.

Вижте WordPress Codex за описание и приети аргументи за функцията comments_template() и други, споменати в статията.

Подготовка на шаблон

Нека се опитаме да разберем шаблоните за коментари на WP и да създадем файл за показване на коментари към публикации в блогове и страници със собствените си ръце. Като примери за справка можете да вземете шаблони от стандартни теми на WordPress. Да творим нов документвъв всеки текстов редактор, нека го наречем comments.php и да започнем да редактираме.

  • По принцип можете да наименувате файла както искате и след това да напишете пътя до този файл в comments_template(), но е по-добре да се придържате към стандартното име
  • Между другото можете да редактирате файла в администраторския панел на WP
  • Най-добре е, разбира се, да напишете код и незабавно да проверите действието му във вашия блог или на локален сървър.

В WordPress е възможно да деактивирате коментарите за отделни публикации, така че преди да ги покажете, трябва да проверите за „отвореност“:

Това е обвиващият код за следващите ни стъпки. Сега нека подготвим контейнера за блока за коментари

със семантично правилен клас или идентификатор (класът, разбира се, е за предпочитане):

Вътре

напишете заглавието, за да разберат вашите читатели, че има коментари и нищо друго, тагвайте

ще бъде точно за това:

"

Тук сме посочили една от функциите на WordPress - the_title() , резултатът от изпълнението на тази функция ще бъде заглавието на текущата публикация или страница. Ако не искате да показвате заглавието, можете просто да напишете „Коментари на читателя“.

Освен това, преди да покажете коментари, трябва да се уверите, че те са налични, т.е. проверка, ако има - изход пълен списък, ако не, тогава можете да покажете на потребителя нещо като "". Така ще бъде ясно на посетителя на вашата публикация / страница, че никой все още не е написал нищо, а мотивиращата фраза „Можете да бъдете първи“ ще увеличи вероятността те да ви напишат нещо по-бързо.

И така, след такава постановка на проблема става ясно, че за реализация ще ни трябват конструкции if/else и функция за показване на броя коментари get_comments_number() . Ако функцията върне 0 (нула), тогава показваме „Все още няма коментари ...“, в противен случай „Коментари на читатели ...“:

Все още няма коментари, но можете да сте първият

Коментари на читателите за статията ""

Дискусиите са затворени за тази страница

Извеждане на коментари

Страхотно, показахме заглавията в зависимост от наличието или липсата на коментари, сега е логично да покажем самите коментари - функцията wp_list_comments() отговаря за това. Функцията по подразбиране обвива всички коментари в тагове

  • , така че трябва да добавите обвивка
      с class assignment.commentlist:

      wp_list_comments() приема масив от аргументи, с които можете гъвкаво да персонализирате изхода на коментарите. Например, можете да промените размера на аватара, текста на отговора на коментара и други настройки чрез преминаване ключова думаи значение:

      $args = array("avatar_size" => 64, // размерът на аватара е 64*64px, по подразбиране е 32 тип коментар)

      Параметърът за обратно извикване заслужава специално внимание, който приема стойността на името на функцията за персонализиран изход на коментар. Позволява ви гъвкаво персонализиране външен видвсеки коментар. Ето как изглежда стандартна функцияизход от файл comment-template.php:

    1. id="li-comment-">
      "); ?> казва:"), get_comment_author_link()) ?>
      comment_approved == "0") : ?>
      $depth, "max_depth" => $args["max_depth"]))) ?>

      Най-лесният начин е да вземете тази функция и да я редактирате за себе си и след това да я извикате като персонализирана, като я напишете във файла comments.php или functions.php.

      След като изброите коментарите, можете да промените външния им вид чрез CSS стилове. Някои опции на wp_list_comments() се дублират в администратора на WP, раздел Опции → Дискусия, по-специално наличието на дървовидни коментари, сортиране по дата и т.н.

      Формуляр за изпращане на коментар

      За да добавите формуляр за коментар, използвайте функцията comment_form(). Нека го добавим под списъка с коментари:

      Все още няма коментари, но можете да сте първият

      Коментари на читателите за статията ""

      1. 64, "reply_text" => "Отговор", "обратно повикване" => "my_comments"); wp_list_comments($args); ?>

      Дискусиите са затворени за тази страница

      С това извикване comment_form() ще зареди кода по подразбиране от файла comment-template.php на WordPress. Функцията приема два параметъра:

      Comment_form($args, $post_id);

      • $args - масив от настройки за изход на формуляр
      • $post_id - идентификатор на публикацията, към която ще се приложи функцията, по подразбиране текущата публикация

      Нека например направим валидиране на полета на HTML5 формуляр, добавим текстови съвети. Нека създадем масив $args за въвеждане на желаните настройки:

      $args = масив(); форма_на_коментар($args);

      В масива трябва да напишете ключовете за настройки:

      $args = array("fields" => apply_filters("comment_form_default_fields", $fields));

      Сега трябва да попълним променливата на масива $fields, която включва полетата на формуляра. Най-лесният начин е да вземете кода на WordPress по подразбиране от comment-template.php и да го промените малко:

      "

      " . ($req ?" *" : "") . "

      ", "имейл" => " ", "url" => "

      " . "

      "); $args = array("fields" => apply_filters("comment_form_default_fields", $fields)); comment_form($args); ?>

      Тук стойностите на параметрите автор, имейл и url са съответно html кодът на полетата Име, Поща и Уебсайт. Тези стойности трябва да бъдат редактирани.

      За полетата трябва да добавим следните атрибути:

      • задължително - прави полетата задължителни, добавете го за полетата "Име" и "Сайт".
      • placeholder - добавя текстова подсказка към полето
      • pattern="(3,)" за полето "Име" - посочете името с буквите на латинската или руската азбука и дължина най-малко 3 знака
      • type="email" за полето "Поща" - това ще добави валидиране на HTML5 имейл
      • autocomplete - разрешава автоматичното довършване за полета
      • type="url" за полето "Сайт".

      Имайте предвид, че новите HTML5 атрибути няма да работят в по-стари браузъри. Тези браузъри, които не разбират новите типове полета, просто ще ги покажат като текст, т.е. .

      В допълнение, за моя блог, размених таговете на някои места, добавих класове за стилизиране, в резултат на което получих следния код на масив $fields:

      "

      ", "имейл" => " ", "url" => "

      "); ?>

      Променихме полетата за въвеждане на данни. Сега нека редактираме самия формуляр за коментари

      " ?>

      Това е стандартният код на WordPress, просто го промених малко - добавих текстова подсказка и добавих допълнителен клас за стилизиране.

      Ето до какво стигнах с CSS стила:

      Формуляр за коментари на WordPress с помощта на HTML5 атрибути

      Резултат

      Накрая ще изхвърля получения си код на comments.php:

      читатели на статии ""

      • Коментирайте първи - авторът се е постарал
      1. id="li-comment-">
        "); ?> пише:"), get_comment_author_link()) ?>
        comment_approved == "0") : ?>
        $depth, "max_depth" => $args["max_depth"]))) ?>
        "Отговор", "обратно повикване" => "verstaka_comment"); wp_list_comments($args); ?>
      "

      ", "имейл" => " ", "url" => "

      "); $args = array("comment_notes_after" => "", "comment_field" => "

      ", "label_submit" => "Изпращане", "fields" => apply_filters("comment_form_default_fields", $fields)); comment_form($args); ?>

      Дискусиите са затворени за тази страница

      ЧЗВ за коментари

      Как да подчертая авторски и потребителски коментари?

      Понякога е много удобно да зададете отделен външен вид за авторски коментари, дори има специални добавки за това. Можете обаче да правите без никакви добавки - просто като напишете стилове за класа .bypostauthor в css файла. По същия начин можете да зададете стилове за потребителски коментари - .bypostuser:

      Как да стилизираме коментарите в дърво?

      За да активирате дървовидни коментари, трябва да отидете в WP администратора, Настройки → Дискусия → Разрешаване на дървовидни коментари. Сега детските коментари ще имат дървовидна структура, могат да им бъдат дадени отделни стилове, например с отстъп. Всичко, което трябва да направите, е да зададете css правилата за списъка с класа .children:

      Списък с коментари .children ( подложка: 0 0 0 40px; /* ляво подложка за подчинени коментари */ )

      Стилове за четни и нечетни коментари

      WordPress по подразбиране дава нечетни коментари class.even, even comments.odd. Чрез тези класове е лесно да зададете свои собствени стилове:

      Списък с коментари .even ( /* стилове за нечетни коментари */ ) .commentlist .odd ( /* стилове за четни коментари */ )

      Как да затворя коментарите на една публикация?

      Много лесно - отидете на страницата за писане на публикация, Настройки на екрана → Дискусии, под полето за публикация се появява блок Дискусии, премахнете отметката от елемента Разрешаване на коментари.

      • Когато компилирате свой собствен шаблон за коментари, можете да използвате файловете comments.php от стандартни и други платени и безплатни WordPress теми
      • Алтернатива на стандартните коментари са добавките за формуляри за коментари на трети страни, като популярния DISQUS
      • Напълно възможно е да редактирате кода директно в самия файл comment-template.php, но в случай на актуализация на WordPress целият код ще бъде презаписан - ще трябва да го редактирате отново
      • Запомнете - няма идеален шаблон за коментари

      Помогнете на проекта

      65 гласа, средно: 4,46 от 5)

      Време е да се заемете сериозно със стилизирането на коментарите в WordPress. В почти всички теми те се конфигурират от системни файлове, което от своя страна ограничава редактирането на отделни функции. Мисля, че много хора са попадали на това, когато е трябвало да направят промени в коментарите, но не са могли да намерят точно къде се намира. Затова ще бъде по-добре да прехвърлим цялата функционалност към текущата тема, което ще ни даде пълна свобода на контрол.

      В тази статия съм събрал няколко страхотни функции, които ще помогнат за подобряване на коментарите. Все пак те ви позволяват да провеждате диалог както с администратора на сайта, така и между потребителите. Отговорете на въпроси, започнете различни дискусии, като цяло, въведете пълноценна виртуална комуникация. Затова е необходимо да им обърнете внимание и да ги приведете в правилната форма.

      Ето какво ще направим:

      • Пълна персонализация
      • Стил на външния вид
      • Номериране на коментари
      • Брой публикации на потребител
      • Задайте статус на всеки потребител
      • И други дреболии

      Ще анализираме всеки елемент поотделно и в края на статията всички функции ще бъдат напълно събрани в един готов код.

      Персонализиране на коментари

      В WordPress коментарите се показват с помощта на функцията wp_list_comments, обикновено във файла comments.php. А формирането на отделни функции, както и самият цикъл, се използва от шаблона на системния файл comment-template.php. Но в редки случаи се случва настройката да се намира в темата на WordPress, файла functions.php или файла comments.php.

      Така че, ако вашата тема не попада в рядък случай и има нужда да направите свои собствени настройки, тогава отворете файла functions.php и добавете следния код преди знака ?>:

      If (! function_exists("my_comment")) : функция my_comments($comment, $args, $depth) (глобален $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment->comment_type) : case " pingback" : case "trackback" : ?>

    2. ", ""); ?>
    3. id="li-comment-">
      comment_parent) $avatar_size = 39; ехо get_avatar($comment, $avatar_size); /* преводачи: 1: автор на коментара, 2: дата и час */ printf(__("%1$s %2$s", "my_press"), sprintf(" ", get_comment_author_link()), sprintf(" ", esc_url(get_comment_link($comment->comment_ID)), get_comment_time("c"), /* преводачи: 1: дата, 2: час */ sprintf(__("%1$s %2$s", " my_press"), get_comment_date(), get_comment_time())))); ?>
      comment_approved == "0") : ?>
      __("Отговор", "my_press"), "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>
      ", ""); ?>

      След това във файла comments.php добавете функция за повикване:

        "моите_коментари")); $номер на коментар = 0; ?>

      След тези манипулации вашите коментари ще бъдат генерирани според шаблонната функция от файла functions.php на текущата тема.

      Преброяване на коментарите на всеки потребител

      Използвайки функцията по-долу, можем да покажем общия брой останали публикации до коментатора. Така можете да наблюдавате колко активен е потребителят и дори тогава статистиката не е излишна, особено в това отношение.

      Отваряме вече познатия ни файл functions.php и записваме следния код в края преди знака?>:

      //броене на потребителски публикации функция bac_comment_count_per_user() ( глобално $wpdb; $comment_count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM". $wpdb->comments. " WHERE comment_author_email = "" . get_comment_author_email() ." " И comment_approved = "1" И comment_type NOT IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 публикация"; ) else ( echo " ". $comment_count . " Публикации "; ))

      Сега остава да добавите функцията за повикване на мястото, от което се нуждаете:

      Съобщенията ще се броят въз основа на имейла на потребителя, както регистриран, така и не. Коментарите се вземат предвид само потвърдени от администратора на сайта, но не и в режим на готовност и изтрити.

      Присвояваме статус на всеки потребител в зависимост от броя на коментарите

      Точно в този случай статистиката определено играе важна роля. Тъй като функцията е изградена на базата на броя на съобщенията и в резултат на това достигнатият брой дава на потребителя правилния статус. Това на теория се използва във всеки форум, за да покаже авторитета на потребителя на този ресурс.

      Отворете отново файла functions.php и добавете следния код преди знака ?>:

      // функция за потребителски статус get_author_class($comment_author_email,$user_id)( глобален $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("ИЗБЕРЕТЕ comment_ID като author_count FROM $wpdb->AdminUseR "; if($author_count>=1 && $author_count<50 && $comment_author_email !==$adminEmail) echo "Прохожий"; else if($author_count>=50 && $author_count<100 && $comment_author_email !==$adminEmail) echo "Новичок"; else if($author_count>=100 && $author_count<250 && $comment_author_email !==$adminEmail) echo "Знающий"; else if($author_count>=250 && $author_count<400 && $comment_author_email !==$adminEmail) echo "Опытный"; else if($author_count>=400 &&$author_count<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $author_count<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>професор";)

      И на желаното място извеждаме функцията за повикване:

      comment_author_email,$comment->user_id)?>

      Обяснение:функцията, подобно на предишната, е свързана с имейла на потребителя. Само тук основната задача не е лесното преброяване на съобщенията, а броят от и до в зависимост от зададения номер. И веднага щом потребителят го достигне, той получава определена позиция. Има общо 7 статуса, плюс администратор и отличителни знаци за регистрираните участници.

      Напълно завършен код за коментар

      Ето че стигнахме до края на тази статия. Тук не бях твърде мързелив, събирайки всички функции, включително настройка на коментари в един готов код. Добавих свои стилове на външен вид и резултатът беше нещо като мини-форум.

      Отворете файла functions.php и в края преди знака?> добавете следния код:

      //броене на потребителски публикации функция bac_comment_count_per_user() ( глобално $wpdb; $comment_count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM". $wpdb->comments. " WHERE comment_author_email = "" . get_comment_author_email() ." " И comment_approved = "1" И comment_type NOT IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 публикация"; ) else ( echo " ". $comment_count . " Публикации "; ) ) //функция за потребителски статус get_author_class($comment_author_email,$user_id)( global $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT comment_ID като author_count FROM $ wpdb->коментари WHERE comment_author_email = "$comment_author_email" ")); if($comment_author_email ==$adminEmail) echo "Admin"; if($user_id!=0 && $comment_author_email !=$adminEmail) echo "UseR"; if ($author_count>=1 && $author_count<50 && $comment_author_email !==$adminEmail) echo "Прохожий"; else if($author_count>=50 && $author_count<100 && $comment_author_email !==$adminEmail) echo "Новичок"; else if($author_count>=100 && $author_count<250 && $comment_author_email !==$adminEmail) echo "Знающий"; else if($author_count>=250 && $author_count<400 && $comment_author_email !==$adminEmail) echo "Опытный"; else if($author_count>=400 &&$author_count<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $author_count<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>=1200 && $comment_author_email !==$adminEmail) echo "Професор"; ) // персонализиране на коментари ако (! function_exists("wordsmall_comment")) : функция wordsmall_comment($comment, $args, $depth) (глобален $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment- > comment_type) : case "pingback" : case "trackback" : ?>

    4. id="li-comment-">
      %с", get_comment_author_link()); ?> comment_parent)( $comment_parent_href = htmlspecialchars(get_comment_link($comment->comment_parent)); $comment_parent = get_comment($comment->comment_parent); ?> @ Отговор за:коментар_автор;?>
      comment_parent) $avatar_size = 60; ехо get_avatar($comment, $avatar_size); ?> comment_author_email,$comment->user_id)?>
      comment_approved == "0") : ?>
      ", ""); ?> __("Отговор", "wallpress"), "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>

      Сега отворете файла comments.php, намираме функцията за извикване на коментари в него. изглежда така:

      Промяна на този:

        "wordsmall_comment")); ?>

      Последна стъпка. Отворете файла style.css и добавете следните стилове в края:

      My_commentlist( border-top:none; ) .my_commentlist .comment( padding:0 0 15px 0; border:none; ) .my_commentlist .pingback( padding:0 0 15px 0; border:none; ) .my_commentlist .comment .children ( list-style-type: none; padding:0px; margin-left:0px;/*ако имате нужда от подложка за дърво com.set го на 15px*/ ) .my_commentlist .comment .children .comment( margin:15px 0 0 0 ; border: none; padding: 0; ) #comments ( background: #fff; ) #comments .my_commentlist ( margin: 10px 0; padding: 0; list-style:none; background: #ebf0f3; padding: 5px; ) # коментари .my_commentlist .comment ( margin:0; padding: 0 0 10px; background: #fff; ) #comments .my_commentlist .my_comment-author ( display: inline; border-right: 1px solid #e0e0e0; width: 100px; float: ляво; поле: 0px 15px 10px 0; ) #comments .my_commentlist .commentmetadata ( float:left; ) #comments .my_commentlist p ( clear:none; цвят: #555; шрифт: 14px arial; line-height: 23px; ) # коментари .my_commentlist .comment-conte nt(маржин-ляво: 116px; padding-right: 10px; ) #comments .my_commentlist .reply ( text-align:right; ) #comments .my_commentlist .reply a( фон: #f5f5f5; граница: 1px solid rgba(0, 0, 0, 0.06); border-radius: 2px; цвят : #515456; дисплей: inline-block; font-size: 13px; font-weight: normal; line-height: 30px; margin-right: 15px; min-height: 30px; padding: 0 12px; text-align: center ; text-decoration: none; ) .my_commentlist .avatar( border: medium none; border-radius: 50%; float: none; margin: 5px auto; padding: 0px; display: table; ) .my_commentlist .comment-header( височина: 30px; фон: #DEE5EB; margin-bottom: 15px; ) .my_commentlist cite.fn( цвят: #444; шрифт: получер 13px/30px arial; padding-left: 10px; ) .my_commentlist .com_date ( цвят: # 8ca0b5; шрифт: нормален 13px/30px arial; float: дясно; padding-right: 15px; ) .my_commentlist .comment-body ( препълване: скрито; позиция: роднина; фон:#fff; ) .my_commentlist .rep-authorcom ( цвят: #25394e; размер на шрифта: 13px; line-height: 30px; ) .my_commentlist .edit-link a ( фон: няма !important; граница: няма !important; border-radius: 0 !important; цвят: #999!important; display: inline-block; font-size: 11px !important; font-weight: normal; line-height: 30px; margin-right: 5px !important; min-height: 30px ; padding: 0 !important; text-align: center; text-decoration: none; ) .com_per ( border: medium none; color: #666; display: block; font-size: 11px; text-align: center; ) .vip1, .vip, .vp, .vip2, .vip3, .vip4, .vip5, .vip6, .vip7 (рамка: средна без; шрифт: получер 13px arial; дисплей: блок; подравняване на текст: център; марж- отдолу: 5px; текстова декорация: няма; ) .vp (цвят: #e82e24;) .vip1 (цвят: #348be8;) .vip2 (цвят: #BE005E;) .vip3 (цвят: #2e517e;) .vip4 ( цвят: #658a18;) .vip5 (цвят: #00A56D;) .vip6 (цвят: #e35d28;) .vip7 (цвят: #99A400;) .vip (цвят: #4c5176; размер на шрифта: 11px; поле: 0 ;)

      Кодът работи напълно и не причинява грешки, но може да са необходими малки промени в CSS стиловете.

      Здравейте приятели! Владимир Савелиев е във връзка. Днес ще ви покажа как да направите, персонализирате и красиво проектирате форма за коментари в WordPress, със и без добавки... И ще анализираме един много важен въпрос: Влияят ли коментарите върху класирането на блога в търсачките? Но на първо място...

      В тази статия ще отговоря на следните въпроси:

      • Как да персонализирате формата за коментари на WordPress за нуждите на аудиторията;
      • Как да стилизирате добре коментарите с CSS;
      • Как да подчертаете коментарите на автора на блога без плъгин;
      • Как да си направите gravatar, който да показва вашата снимка, когато коментирате в собствения си и в други блогове;
      • Какви важни добавки да инсталирате за модула за коментари, за да добавите функционалност;
      • Как да вмъкнете емотикони във формата за коментари и да ги замените с по-оригинални;

      Факт е, че наскоро аз самият в моя блог се сетих за формата на коментари в wordpress и в търсене на необходимата и правилна информация ми отне много време. Сега, ако попадна на такава статия, където е събрана почти цялата информация, бих спестил много време и бих посветил това време на по-важни въпроси, а не на технически!

      Между другото, поздравления за първия ви сняг! Не знам за вас, но в нашия град днес цял ден вали сняг, очаквайки предстоящата Нова година и миризмата на мандарини =) Нямах време да се насладя на миналото лято, бях през цялото време в работа и работа, не забелязах как е лятото и мина = (Е, добре, все още ще имам време да се отпусна и да си почина. Както казва любимата ми жена, ще си почивам в пенсия!

      Добре, сега да се върнем на темата!

      Да започнем с това как коментарите в WordPress влияят на класирането на блога в търсачките?! Отговорът е очевиден - това е влиянието на PF, тоест поведенчески фактори!

      Помислете за пример, има два блога, единият от тях има форма за коментари в wordpress, другият не! Посетителят отиде в блога, където прочете интересна статия и това е всичко, едва ли ще се върне отново на страницата на материала, съгласни ли сте с мен?

      И в блога, където има коментари, след като прочете статията, посетителят ще прочете и коментарите, чудя се какво пишат други хора по тази тема! И ако посетителят също се включи в дискусията, тогава ще бъде като цяло великолепно =) Колко пъти ще отиде на тази страница, за да провери дали някой му е отговорил?!

      Между другото, попаднах на един ресурс, където беше направен експеримент с два блога, имаше коментари в единия блог, а не в другия. И така, блогът, който беше коментиран, вървеше успешно напред и посещаемостта нарастваше в сравнение с друг блог!

      Благодарение на коментарите времето, прекарано в блога, се увеличава, както и броят на директните посещения, като по този начин се подобрява ефективността на сайта или блога и това не са всички плюсове!

      Стига теория, да преминем към практическата част!

      Как да персонализирате формата за коментари на WordPress

      Всъщност настройката на модула за коментари е много проста и няма да ви отнеме много време. Всичко, което трябва да направите, е да поставите отметки в квадратчетата, където съм го направил! Следвайте инструкциите и ще успеете по най-добрия начин!

      Как да оформите красиво формата за коментари

      На този етап ще ви трябват поне основни познания по css и html. Ако ги нямате, направете го на свой собствен риск и не забравяйте да запазите оригиналния код преди редактиране.

      За да промените дизайна на коментарите, трябва да го намерите в настройките, Облик - Редактор - Стил лист (style.css), нещо като този код:

      Списък с коментари div.comment(background:#f6f6f6;margin-bottom:15px;padding:10px 10px 10px 80px;position:relative;border: 1px solid #bbb; border-radius: 8px;)

      Накратко, ние търсим всички стилове, които започват с коментар, и променете стойността им по ваш вкус и цвят. Експериментирайте!

      Как да маркирате авторски коментари без плъгин

      Защо е нужно това?! Е, на първо място, това дава на посетителя представа кой е авторът на блога, сред другите коментатори! Освен това ще улесни навигацията на автора на блога!

      Плъгинът ще помогне за решаването на този проблем - Маркирайте коментарите на автора, но аз не съм привърженик на плъгините, тъй като голям брой от тях влияят негативно на блога! Затова, когато е възможно, се опитвам да направя всичко в код, което ви съветвам да правите!

      За да приложите тази функция с код без плъгин, трябва да добавите нов клас стил с вход на администратора на блога в настройките: Външен вид - Редактор - Лист със стилове (style.css).

      В моя случай кодът изглежда така:

      Списък с коментари div.comment-author- Вашият вход на входа на админ панела(background-color:#f5f5e1!important;margin-bottom:15px;padding:10px 10px 10px 80px;position:relative;border: 1px solid #bbb; border-radius: 8px;)

      И сменете дизайна, различен от другите коментари! Всичко е просто!

      За да попречите на атакуващ да узнае истинското ви потребителско име, напишете кода във functions.php

      функция del_login_css($css) (
      foreach ($css като $key => $class) (
      if (strstr ($class, "ВАШЕТО РЕАЛНО ВХОД")) (
      $css[$key] = "ЕЛАТЕ С ФИКЦИЯ"; ) )
      връща $css;
      }
      add_filter("comment_class", "del_login_css");

      Как да направите свой собствен gravatar (снимка в коментарите)

      Ако искате да се показва вашата снимка, когато коментирате в собствения си или други блогове, а не празна снимка, тогава трябва да направите следното. Регистрирайте се на https://ru.gravatar.com

      Попълваме всички задължителни полета и това е! Сега вашата снимка ще бъде винаги с вас, където посочвате имейла, към който е прикачена снимката! Важно е да се регистрирате с имейла, който обикновено въвеждате, когато коментирате.

      Важни приставки за коментиране на WordPress

      Ще изброя трите основни добавки за коментиране, които имам в моя блог. Препоръчвам ви да ги инсталирате!

      • Пренасочване на коментари от Yoast - Плъгин за първи коментар Благодаря! Първо трябва да създадете страница за благодарности и да въведете пътя й в настройките на плъгина!
      • WordPress Zero Spam е невидим captcha, предназначен да предпазва от спам, не притеснява коментаторите да решават аритметични примери, те просто не го виждат...
      • - абонамент за коментари. Принцип на работа: посетителят, след като е написал коментар, може да се абонира за своите актуализации, както и да управлява абонаменти.

      Емотикони във формата за коментари в wordpress

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

      Това е всичко! Надявам се, че сте успели да настроите всичко, ако не сте намерили въпроса си относно формата за коментари на wordpress, тогава не се колебайте да напишете коментар и аз ще се радвам да отговоря! Ако сте харесали статията, абонирайте се за актуализации на блога и я препоръчайте на приятелите си, като щракнете върху бутоните на социалните мрежи по-долу! Аз ще бъда много благодарен! Ще се видим скоро в нова статия!


      С уважение, Владимир Савелиев

      Премиум уроци от клуба webformyself

      Това е нов революционен продукт в областта на обучението за изграждане на уебсайтове! Всички най-добри видео уроци са събрани на едно място и разделени в категории: WordPress, Joomla, PHP, HTML, CSS и JavaScript... Базата данни се актуализира постоянно и вече има повече от 200 урока в нея! Само за една година - можете да станете опитен уебмастър "от нулата"!

      | Повече ▼

      Отдавна не съм писал нищо за WordPress. Затова днес ще споделя с вас как можете ръчно да промените формата за коментари в WordPress. Мисля, че това знание може да бъде полезно за всеки начинаещ блогър, защото формата за коментиране понякога е единственото средство за комуникация между посетителите и автора. Не подминавайте :)

      Преди да започнем манипулации с кода, искам да ви предупредя предварително, че ще редактираме файловете на самия WordPress, а не файловете на темата. Да, за някой може да се стори опасно, за някой безсмислено, някой просто няма да го хареса :) Но аз го направих точно така и нямах никакви проблеми. Съветвам ви да направите резервно копие на редактирания файл, преди да започнете.
      Предупредих ви за сигурността, сега искам да покажа резултата, до който стигнах.


      Както виждаме, редът „Вашият имейл няма да бъде публикуван. Задължителните полета са маркирани с *". Няма нужда да смятате посетителите за безмозъчни идиоти. Те разбират какво трябва да се направи и какво не. Също така скрих имената на полетата вътре в самите полета. Какви са тези дебели публикации? По-голямата част от посетителите, които вече нямат имена на полета, могат „на око“ да определят кое към какво принадлежи. Но все пак трябва да има вътрешни намеци. Е, надписът към полето за коментар загуби ненужната си смелост. Според мен стана много по-добре и по-свободно.

      Така че нека направим промяна скоро! ;)
      Отиваме в папката на нашия сайт и намираме в нея файла wp-includes/comment-template.php. Търсим реда 1522 в него, да, да, точно него. Как го намерих сам е цяла история, ще ви разкажа малко по-късно :)
      И така, отворете файла за редактиране и отидете на ред 1522. Сега тя и следващите (до 1529 г.) са нещо подобно:

      $fields = array("author" => "

      " . "" . ($req ?" *" : "") . "

      ", "имейл" => " ", "url" => "

      " . "

      ",);

      Колко просто и ясно е всичко. Достатъчно е просто да изрежете всичко излишно и да добавите малко. Параметърът ще бъде добавен

      Placeholder="Hint Text" !}

      Тази опция ви позволява да показвате всякакъв текст в полетата. Използваме го за показване на съвети:

      "

      " "

      " "

      "

      Нека изтрием редовете:

      "

      " . "" . ($req ?" *" : "") "

      "

      Те отговарят за показването на надписите над полетата.
      В резултат на ВСИЧКИ тези манипулации получаваме следното:

      $fields = array("author" => "

      ", "имейл" => "

      ", "url" => "

      ",);

      Остава само да премахнете глупавия намек „Вашият имейл няма да бъде публикуван. Задължителните полета са маркирани с *". За да направите това, изтрийте реда (приблизително 1537):

      "comment_notes_before" => "

      " .__("Вашият имейл адрес няма да бъде публикуван.") .($req ? $required_text: "") . "

      ",

      Това изглежда е всичко, сега формата ни стана малко по-привлекателна. Надявам се тази информация да е полезна на някого :)

      Абонирайте се, коментирайте, ще се радвам на всякакви адекватни коментари. Може би аз самият не знам нещо и можете да го направите по различен начин, споделете мислите си.

      WordPress има няколко вида съдържание като публикации, страници, коментари. WordPress е много гъвкава платформа, която ви позволява да персонализирате основните типове съдържание, за да отговарят на вашия сайт. Можете да промените външния вид и усещането. В този урок ще ви покажем как да промените поведението и външния вид на коментарите в WordPress сайт.

      Стъпка 1. Разбиране на функцията comment_form и неговите аргументи

      Помислете за функцията comment_form на WordPress. Той отговаря за показването на формуляра за коментари, който се показва на страницата или публикацията. Извикването на тази функция може да бъде намерено главно във файла коментари.phpв папката на темата. Този файл е включен на различни места, например във файлове единичен.phpИ страница.php, директно или чрез извикване на функцията comments_template.

      Описание на функцията може да се намери в кодекса на WordPress.

      Ако използвате функцията comment_form за изобразяване на формуляр, той ще бъде изобразен с помощта на параметрите по подразбиране и ще съдържа полета като име, имейл (и двете полета са задължителни), уебсайт и съдържание на коментар. В темата по подразбиране на Twenty Eleven формулярът ще изглежда така.

      Някои важни аргументи към функцията comment_form:

      • fields - с негова помощ можете да контролирате извеждането на полета във формата за коментари.
      • comment_notes_before и comment_notes_after се използват за показване на информация преди и след формуляра.
      • title_reply – използва се за промяна на заглавието на отговора, което по подразбиране е „Оставете отговор“.
      • label_submit - използва се за промяна на текста на бутона за изпращане на коментар.

      Стъпка 2. Персонализирайте формата за коментар с помощта на функциятакоментар_форма

      Сега нека персонализираме нашата форма за коментар, като предадем аргументи на функцията comment_form.

      В случай, че трябва да персонализираме полетата във формуляра за коментари, трябва да предадем списък с тях на функцията comment_form. По подразбиране функцията използва следния списък от полета:

      $fields = array("author" => "

      " . "" . ($req ?" *" : "") . "

      ", "имейл" => " ", "url" => "

      " . "

      ",);

      Ако трябва да премахнем поле, да речем website, просто трябва да го изключим от масива и да предадем масива на функцията comment_form.

      $commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("author" => "

      " . "" . ($req ?" *" : "") . "

      ", "имейл" => " ",); $comments_args = array("fields" => $fields); comment_form($comments_args);

      Освен това ще променим името на формуляра на „Моля, дайте ни своя ценен коментар“ и етикета на бутона на „Изпратете моя коментар“.

      За да изпълним задачата, предаваме следните аргументи на функцията comment_form:

      $commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("author" => "

      " . "" . ($req ?" *" : "") . "

      ", "имейл" => " ",); $comments_args = array("fields" => $fields, "title_reply"=>"Моля, дайте ни вашия ценен коментар", "label_submit" => "Изпратете моя коментар"); comment_form($comments_args);

      Формулярът за коментар сега ще изглежда така:

      Стъпка 3 Премахване на полета от формуляр с кука

      Също така формата за коментари на WordPress може да бъде модифицирана с кукички и филтри. Тази настройка може да бъде особено полезна, когато работите с плъгин, когато трябва да промените няколко елемента, но не и да промените файловете на темата. Филтър за добавяне или премахване на полета на формуляр - ' comment_form_default_fields '

      Нека премахнем полето за URL адрес с помощта на филтър. Горният код може да се използва в плъгин или във файл functions.phpактивна тема.

      Функция remove_comment_fields($fields) ( unset($fields["url"]); върне $fields; ) add_filter("comment_form_default_fields","remove_comment_fields");

      Стъпка 4: Добавяне на данни към формуляра за коментар с кука

      Можем да добавяме полета към формуляра с помощта на филтъра ' comment_form_default_fields '. Нека добавим полето за възрастта на автора с помощта на филтър и да запазим това поле с допълнителни данни и да го покажем в коментарите.

      Добавете поле като това:

      Функция add_comment_fields($fields) ( $fields["age"] = "

      " . "

      "; върне $ полета; ) add_filter("comment_form_default_fields","add_comment_fields");

      #respond .comment-form-author етикет, #respond .comment-form-email етикет, #respond .comment-form-url етикет, #respond .comment-form-age етикет, #respond .comment-form-comment етикет ( фон: #eee; -webkit-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); -moz-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); box-shadow: 1px 2px 2px rgba(204,204,204, 0,8); цвят: #555; дисплей: inline-block; размер на шрифта: 13px; ляво: 4px; min-width: 60px; padding: 4px 10px; позиция: относителна; top: 40px; z-index: 1; )

      Сега нашата форма за коментари ще изглежда така:

      Възрастта вече се съхранява като допълнителна информация. Трябва да използвате кука в ' comment_post ':

      Функция add_comment_meta_values($comment_id) ( if(isset($_POST["age"])) ( $age = wp_filter_nohtml_kses($_POST["age"]); add_comment_meta($comment_id, "age", $age, false); ) ) add_action("comment_post", "add_comment_meta_values", 1);

      След като данните бъдат запазени, те могат да бъдат показани в коментар като този:

      comment_ID, "възраст", вярно); ?>

      Стъпка 5 Задаване на коментари за конкретни типове публикации

      Понякога искате да използвате полета в коментарите само за определени типове публикации. Нека променим кода, за да показва полето за възраст само за книгата тип запис:

      Функция add_comment_fields($fields) ( if(is_singular("books")) ( $fields["age"] = "

      " . "

      "; ) върне $ полета; ) add_filter("comment_form_default_fields","add_comment_fields");

      Стъпка 6. Създайте функция за връщане за показване на коментари

      Функцията wp_list_comments се използва за показване на коментари в публикации. Кодексът на WordPress описва функцията подробно.

      wp_list_comments има аргумент ' обратно извикване ', който може да се използва за дефиниране на функция, която се извиква, когато се показва коментар.

      В темата на Twenty Eleven във файла коментари.phpможете да намерите реда:

      wp_list_comments(array("callback" => "twentyeleven_comment"));

      Нека го променим на:

      wp_list_comments(array("callback" => "my_comments_callback"));

      Функцията my_comments_callback ще бъде извикана за всяка публикация.

      Стъпка 7 Оформяне на коментарите

      Сега ще променим малко стила на коментара. Просто ще покажем съдържанието на публикацията и полето за възраст, които добавихме по-рано. Ще променим и цвета на фона за коментари.

      Функционален код „my_comments_callback“:

      Функция my_comments_callback($comment, $args, $depth) ( $GLOBALS["comment"] = $comment; ?>

    5. id="li-comment-">

      comment_ID, "възраст", вярно); ?>

      __("Отговор ↓", "twentyeleven"), "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>
    6. Променете цвета на фона по следния начин:

      Списък с коментари > li.comment (фон: #99ccff; граница: 3px плътен #ddd; -moz-border-radius: 3px; border-radius: 3px; margin: 0 0 1.625em; padding: 1.625em; позиция: относителна; )



  • Зареждане...
    Връх