Форматиране на областта за коментари в WordPress. Форматиране на областта за коментари в WordPress Синтаксис за PHP коментари: коментар на един ред

  • 25.03.2024

Предисторията на писането на тази статия е типична: реших да подчертая коментарите си с отделен стил... За щастие, раздробявам style.php вече няколко дни и знам основните правила на CSS синтаксиса. И, разбира се, тази невинна идея се превърна в леко смущение, търсене на решение... В крайна сметка всичко се получи. И сега искам да ви кажа какви магически пропуски използвах, за да украся собствените си коментари.

Целта на всички манипулации, описани по-долу, е да подчертаете вашите коментари и отговори на читателите. Ако не прекалявате със стиловете, ще се получи доста елегантно. Разбира се, това не е жизненоважна необходимост. Всеки, който е решил да види вашите коментари, ще може да го направи чрез псевдоним. Но идеята за красота също е важна за много блогъри.

Освен това, ако обърнем внимание на това как са форматирани отговорите на автора на много големи и добре обмислени сайтове (например smashingmagazine), ще видим отделен стил за тях. Очевидно това ще помогне за подобряване на използваемостта.

Особено важно е да използвате отделен стил за авторски коментари в блогове, където са разрешени дървовидни коментари с доста дълбока степен на вложеност. Просто казано, където потребителят може да отговаря на коментари, да отговаря на отговори и т.н.

Нека да разгледаме стиловете на коментари, които вече се използват

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

Така че изберете публикация в блога си, която има коментари. Разбира се, имаме нужда и от вашите отговори да бъдат тук. След като отворите такава страница, щракнете с десния бутон върху нея и изберете „Преглед на кода на страницата“ (в браузърите Google Chrome и Firefox определено има такава опция).

Не се плашете, когато видите лист с код. Всъщност тук няма нищо сложно и тайно. Превъртете страницата надолу и ще забележите, че първо се показва общата информация за публикацията, а след това текстът с форматиране. Най-накрая по-долу е кодът, свързан с коментарите. Можете просто да напишете Ctrl+F и да въведете в прозореца, който се показва списък с коментарии натиснете Enter - веднага ще бъдете „хвърлени“ до желания ред, където търсената дума ще бъде ярко осветена.

Сега нека да разгледаме как са маркирани нашите стилове на коментари. За по-голяма яснота кодът е от моята тема. Разбира се, вашият може да изглежда и да е структуриран малко по-различно, но основното значение на отделните части от кода трябва да е ясно:

  • КОМЕНТАТОРСКИ НИК:

    ТЕКСТ ЗА КОМЕНТАР

    • ВАШИЯТ НИК:

      ТЕКСТ НА ВАШИЯ ОТГОВОР

      ЕТО И ДАННИТЕ ЗА БУТОНА "Отговор".
    • Всъщност трябва само да намерим коментари с вашия псевдоним (например в този блог пиша и отговарям под псевдонима Katyaru). И точно над необходимия ред, който започва така:

    • Това са обозначенията на класовете − коментар от потребител comment-author-admin bypostauthor odd alt depth-2 —интересуваме се. Какво имат предвид? — коментар"стил на коментар" byuser"стил на регистриран потребител" коментар-автор-админ"администраторски стил" bypostauthor"авторски стил на публикация" странно"четен стил на коментар" (или четен - "нечетен") алт"стил на отговор на коментар" дълбочина-2„дълбочината на влагане на коментар е 2″

      Внимание: ако разумно сте променили влизането в блога си от „admin“ на нещо друго, тогава името на стила ще изглежда така коментар-автор-ВАШИЯТ ВХОД.Това е логинът за влизане в админ зоната, а не псевдонимът, който използвате, за да се регистрирате!!!

      Тук има възможни варианти. Може би коментаторите във вашия блог трябва да са регистрирани потребители. Може би авторът на публикацията не сте вие, а друг регистриран потребител без права на администратор. Но в блога има само един администратор - и това сте вие! Ето защо трябва да обърнете внимание на коментар-автор-админ(или коментар-автор-ВАШЕТО ВХОД) - трябва да е уникален за всички ваши коментари.

      Като цяло алгоритъмът на действията е следният:

      • Разглеждаме кода на коментара и откриваме как (по наличието на какъв стил) вашите коментари се различават от коментарите на всички останали потребители (само читатели, регистрирани потребители, автори и т.н.)
      • След това намираме този стил в листа със стилове и го добавяме

      Добавяне на специален стил за коментари на администратор на блог

      Отворете страницата със стилови таблици в административния панел на блога style.php - по-добре е първо да направите резервно копие на темата или поне да копирате целия код от тази страница и да го запишете като отделен файл в Notepad. Тогава ще можете да възстановите стиловете без грешките, които се подготвяме да направим

      Намираме описание на стила на коментара с помощта на думата за търсене commentlist. Нека ви напомня, че кодът изглежда страхотно в различни теми, но смисълът е един и същ навсякъде. Например, наред с други неща, имам следните редове:

      ТУК МОЖЕ ДА ИМА МНОГО РАЗЛИЧНИ НЕЩА ol.commentlist li.alt() ol.commentlist li.bypostauthor p() ol.commentlist li.byuser () ol.commentlist li.comment-author-admin(ВЪВЕДЕТЕ ВАШИЯ СТИЛ) ol .commentlist li. comment() ol.commentlist li div.comment-author-admin (ВЪВЕДЕТЕ ВАШИЯ СТИЛ) МОЖЕ ДА ИМА МНОГО РАЗЛИЧНИ OL.commentlist li ul.children li.bypostauthor() ol.commentlist li ul.children li.byuser() ol. commentlist li ul.children li.comment() ol.commentlist li ul.children li.comment-author-admin(ВЪВЕДЕТЕ ВАШИЯ СТИЛ) ol.commentlist li ul.children li.depth-2() ol.commentlist li ul.children li.depth-2 li.comment-author-admin(ВЪВЕДЕТЕ ВАШИЯ СТИЛ) ol.commentlist li ul.children li.depth-3() ol.commentlist li ul.children li.depth-3 li.comment-author-admin (ВЪВЕДЕТЕ ВАШИЯ СТИЛ) И Т.Н

      Тези празни фигурни скоби () показват, че не е зададен специален стил. Именно тази празнота трябва да запълним с нашия код.

      Внимание: първо трябва промянав кода думата “admin” за вашето влизане!!! Във всички редове, където се използва името на този стил!!!

      Възможни стилове за администраторски коментари

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

      Да влезеш в кода или да не влезеш в него? Вече казахме, че формата за коментар е малко сложна и затова създателите са опростили всичко възможно най-много.

      Функцията за извикване на коментар е проста и няма параметри

      Изглежда просто, но прави много. Всъщност той създава огромно количество html код и използва куп php код. защото Тази функция генерира целия готов HTML код, след което ще трябва да се справим с него без възможност по някакъв начин да коригираме или персонализираме с помощта на параметри. Това може да е определен проблем, като се има предвид, че не можем наистина да променим този html код. Не харесвате div класове? Не искате да използвате gravatars? Искате ли да промените реда, в който се показват редовете?

      Ще трябва да се примирите с всичко това и да скриете ненужните неща с помощта на css. От тази гледна точка ще трябва да решите кой предпочитан път ще изберете:

      wp_list_comments

      • лесен за използване
      • вградена функция за коментиране
      • вградена функционалност за страниране
      • вградена функционалност за дървовиден дисплей
      • css класове по подразбиране за основни задачи

      персонализирана функция за коментар

      • абсолютен пълен контрол над всичко
      • стандартни и персонализирани css класове
      • наличие на добавки за добавяне на необходимата функционалност

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

      Освен това има добрият стар метод за показване на коментари с помощта на цикъл foreach, така че все още имаме много да измисляме.

      wp_list_comments() или персонализиран цикъл?

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

      След това коментарите бяха обогатени с допълнителна функционалност – навигация по страницата и дървовидно влагане. Тези функции бяха активирани през административния панел и цикълът foreach беше заменен с вече показаната функция wp_list_comments. Въпреки това, този цикъл все още остава работещ, въпреки че по очевидни причини не поддържа допълнителна функционалност.

      Въпреки че wp_list_comments не изглежда като цикъл, той прави всичко по същия начин, повтаряйки заявки и извеждайки коментари отново и отново, докато свършат, маркирайки ги със съответните тагове.

      Обикновено готовият HTML код за един коментар изглежда по следния начин:

      1. Име на коментатора казва:

        Благодаря ви, имате страхотен сайт!

      Както можете да видите, цикълът за извеждане на коментари съдържа gravatar изображение, няколко div, много различни CSS класове, връзка към автора и действителния текст на коментара. Ако това ви устройва, тогава това е добре, не е нужно да правите нищо друго.

      В този случай можете да достигнете само до следните опции wp_list_comments:

      • размерът на аватара по подразбиране е 32 пиксела
      • css стилове - с техните имена можете да промените параметрите на желаните
      • стил за показване на стила на списъка с коментари. По подразбиране коментарите се показват като неподредени списъчни тагове
          но ако вместо това искате да използвате подреден списък
            , тогава използвайте този параметър "ол")); ?>
          1. type type е низов параметър, отговорен за показваните коментари. Наличните параметри са all, comment, trackback, pingback, pings. Pings означава, че и тракбековете, и пингбековете ще бъдат изведени заедно. По подразбиране параметърът е all, т.е. всички коментари се показват.
          2. текст на отговор reply_text - определя какво ще бъде написано на връзката за отговор към коментар, обикновено „Отговор“
          3. текст за оторизация login_text - показва се, ако трябва да влезете в сайта, за да отговорите, обикновено „Влезте, за да коментирате“
          4. callback е името на персонализирана функция за показване на коментари.
          5. Налични допълнителни опции

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

        Шаманизъм във functions.php

        Първо, нека посочим в comments.php, че ще използваме нашата персонализирана функция

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

      • id="li-comment-">
        ");?> казва:"), get_comment_author_link()); ?>
        comment_approved == "0") : ?>
        $depth,"max_depth" => $args["max_depth"]))); ?>
        Моля, обърнете внимание, че не затваряме етикета
      • , защото WordPress автоматично ще създаде затварящи етикети въз основа на маркирането на вложени коментари.

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

        Сега да се върнем към старите начини - заедно с wp_list_comments ще поставим foreach цикъл

        Това използване ще позволи на шаблона да бъде обратно съвместим с по-стари версии на WordPress.

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

        Внедряване на коментари страница по страница

        Никой не знае предварително, че съдържанието на сайта може да привлече стотици коментари. Това, което имам предвид е, че всички сме суперзвезди и успехът може да дойде неочаквано. Публикация със стотици коментари може да бъде безумно дълга за гледане и превъртане назад. Като цяло със сигурност не се страхуваме от вертикално превъртане (за разлика от хоризонталното), но всичко трябва да има граници. Типична публикация с 60 коментара може да бъде с височина до 20k пиксела!

        Чудесен начин да поддържате нещата организирани е да пагинирате емисията си за коментари и да ги показвате страница по страница.

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

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

        И тук има една уловка. Възниква добре познатият SEO проблем с дублиране на съдържание с коментари страница по страница. Това се случва, защото едни и същи URL адреси се създават за всяка страница с коментари.

        • https://yoursite.com/ghost-dad-rocked/
        • https://yoursite.com/ghost-dad-rocked/comments-page-1/
        • https://yoursite.com/ghost-dad-rocked/comments-page-2/
        • https://yoursite.com/ghost-dad-rocked/comments-page-3/

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

        За да избегнете дублиране, има няколко решения:

        1. Не използвайте коментари на страницата
        2. Използвайте мета тагове, за да създадете канонични URL адреси за всяка публикация
        3. Използвайте плъгин

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

        SEO for Paged Comments предприема още по-радикален подход – премахва съдържанието на публикацията от страниците с коментари и я заменя с цитат или съкратена версия на публикацията.

        Внедряване на вложени коментари

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

        Преди да се появи тази възможност, имаше стил на отговор на избрания автор, използвайки името му и знака @ в текста на коментара, като „@Вася, грешиш!“ С известна трансформация този метод се вкорени в много приложения в Интернет и все още съществува, например в Twitter. И в съвременните версии на WordPress такова споменаване не е необходимо да се използва.

        Сега просто трябва да кликнете върху съответната връзка „Отговор“ и да говорите. След като текстът на коментара бъде одобрен, той ще се появи непосредствено под коментара, за който е написан.

        Ако вашият шаблон не поддържа този тип коментиране, има лесен начин да го добавите:

        1. Ние правим резервни копия на файлове, което на теория вече трябва да стане навик
        2. Активирайте вложените коментари в настройките Опции→Настройки на дискусията→Разрешаване на дървовидни коментари
        3. Добавете следния код към header.php непосредствено преди wp_head()
        4. Добавете към comments.php точно преди затварящия таг
        5. Нека проверим това