WordPress-də Şərh Sahəsinin Formatlanması. WordPress-də şərh sahəsinin formatlanması Admin şərhləri üçün mümkün üslublar
Bu məqaləni yazmaq üçün fon xarakterikdir: şərhlərimi ayrıca üslubla vurğulamaq qərarına gəldim... Xoşbəxtlikdən artıq bir neçə gündür style.php-ni parçalayıram və CSS sintaksisinin əsas qaydalarını bilirəm. Və təbii ki, bu məsum fikir bir az biabırçılığa, çarə axtarışına çevrildi... Sonda hər şey yoluna düşdü. İndi isə sizə öz şərhlərimi bəzəmək üçün istifadə etdiyim sehrli keçidləri söyləmək istəyirəm.
Aşağıda təsvir edilən bütün manipulyasiyaların məqsədi şərhlərinizi və oxuculara verdiyiniz cavabları vurğulamaqdır. Üslublarla həddindən artıq çox getməsəniz, olduqca zərif çıxacaq. Təbii ki, bu həyati zərurət deyil. Şərhlərinizə baxmaq qərarına gələn hər kəs bunu ləqəblə edə biləcək. Ancaq gözəllik ideyası bir çox bloggerlər üçün də vacibdir.
Bundan əlavə, bir çox böyük və yaxşı düşünülmüş saytlarda (məsələn, smashingmagazine) müəllifin cavablarının necə formatlandığına diqqət yetirsək, onlar üçün ayrıca bir üslub görəcəyik. Aydındır ki, bu, istifadəni yaxşılaşdırmağa kömək edəcək.
Kifayət qədər dərin yuvalanma dərəcəsi olan ağaca bənzər şərhlərə icazə verilən bloqlarda müəllif şərhləri üçün ayrıca üslubdan istifadə etmək xüsusilə vacibdir. Sadəcə olaraq, burada istifadəçi şərhlərə cavab verə bilər, cavablara cavab verə bilər və s.
Artıq istifadə olunan şərh üslublarına nəzər salaq
Sondan başlayaraq təklif etdiyimə təəccüblənməyin. Ancaq WordPress mövzularını redaktə etməkdə özünü tamamilə rahat hiss etməyən istifadəçilər üçün bu, ən vizual və aşkar üsuldur.
Beləliklə, bloqunuzda şərhləri olan bir yazı seçin. Təbii ki, burada da olmaq üçün cavablarınıza ehtiyacımız var. Belə bir səhifə açdıqdan sonra üzərinə sağ vurun və "Səhifə koduna bax" seçin (Google Chrome və Firefox brauzerlərində mütləq belə bir seçim var).
Bir kod vərəqi görəndə qorxmayın. Əslində burada mürəkkəb və ya gizli bir şey yoxdur. Səhifəni aşağı diyirləyin və görəcəksiniz ki, əvvəlcə yazı haqqında ümumi məlumat, sonra formatlı mətn göstərilir. Nəhayət, aşağıda şərhlərlə əlaqəli kod var. Siz sadəcə olaraq Ctrl+F düymələrini basıb görünən pəncərəyə daxil ola bilərsiniz şərh siyahısı və Enter düyməsini basın - dərhal axtarılan sözün parlaq şəkildə vurğulanacağı istədiyiniz sətirə "atılacaqsınız".
İndi şərh üslublarımızın necə işarələndiyinə baxaq. Aydınlıq üçün kod mənim mövzumdandır. Əlbəttə ki, sizinki bir az fərqli görünə və strukturlaşdırıla bilər, lakin kodun ayrı-ayrı hissələrinin əsas mənası aydın olmalıdır:
ŞƏRH MƏTNİ
- id="li-şərh-">
$depth,"max_depth" => $args["max_depth"]))); ?>
- , çünki WordPress daxili şərhlərin işarələnməsi əsasında avtomatik olaraq bağlanma teqləri yaradacaq.
Yerləşdirildikdən sonra bu funksiya şərhlər yaradıldıqda çağırılacaq və sizə lazımi düzəlişlər etməyə imkan verir. Hiylə ondan ibarətdir ki, biz standart və kifayət qədər məhdud parametrlərdən istifadə edərək lazım olan hər şeyi etdik wp_list_comments()
İndi köhnə üsullara qayıdaq - wp_list_comments ilə birlikdə foreach döngəsi qoyacağıq
Bu istifadə şablonun WordPress-in köhnə versiyaları ilə geriyə uyğun olmasına imkan verəcək.
İndi şərh döngəsini necə quracağımızı bildiyimiz üçün gəlin onu ehtiyaclarımıza uyğunlaşdırmaq üçün dəyişdirək və bəzi gözəl fəndlər tətbiq edək.
Səhifə-səhifə şərhlərin həyata keçirilməsi
Saytdakı məzmunun yüzlərlə şərhi cəlb edə biləcəyini heç kim əvvəlcədən bilmir. Mən başa düşürəm ki, biz hamımız super ulduzlarıq və uğur gözlənilmədən gələ bilər. Yüzlərlə şərhi olan bir postu izləmək və geri çevirmək olduqca uzun ola bilər. Ümumiyyətlə, biz, əlbəttə ki, şaquli sürüşmədən qorxmuruq (üfüqi sürüşmədən fərqli olaraq), lakin hər şeyin sərhədləri olmalıdır. 60 şərhdən ibarət tipik bir yazının hündürlüyü 20 min pikselə qədər ola bilər!
İşləri təşkil etməyin əla yolu şərh lentinizi səhifələşdirmək və onları səhifə-səhifə göstərməkdir.
Səhifələşdirməni aktivləşdirdikdən sonra comments.php faylınıza "Əvvəl" və "Sonra" keçidlərini göstərmək üçün funksiyalar əlavə etməyi unutmayın.
Bu keçidlər avtomatik olaraq görünəcək və hər səhifədə göstərilən şərhlərin sayı keçdikdə şərh vərəqini pozacaq. Bu nömrədən daha az şərh varsa, keçidlər göstərilməyəcək.
Və burada bir tutma var. Səhifə-səhifə şərhləri ilə məzmunun təkrarlanması ilə bağlı məşhur SEO problemi yaranır. Bu, hər şərh səhifəsi üçün eyni URL-lərin yaradıldığı üçün baş verir.
- 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/
Aydındır ki, yalnız bu səhifələrdəki şərhlər fərqli olacaq. Ümumi mənzərəni daha da pisləşdirən odur ki, hər şərhin dərc olunma vaxtı ilə özünəməxsus əlaqəsi var ki, bu da bir dəstə dublikat əlavə edir. Buna görə də, axtarış botu çox sayda müxtəlif bağlantılar altında eyni məzmunu tapacaq.
Təkrarlanmanın qarşısını almaq üçün bir neçə həll yolu var:
- Səhifə şərhlərindən istifadə etməyin
- Hər yazı üçün kanonik URL yaratmaq üçün meta teqlərdən istifadə edin
- Plugin istifadə edin
Əgər saytınız çox populyardırsa və ya belə olacaqsa, əlbəttə ki, kanonik URL-lərdən istifadə etmək daha yaxşıdır. Əgər qızğın müzakirələr planlaşdırılmırsa, onda ənənəvi şərh vərəqlərini səhifələşdirmədən istifadə etmək daha asandır.
Səhifəli Şərhlər üçün SEO daha radikal bir yanaşma tətbiq edir - yazı məzmununu şərh səhifələrindən silmək və onu sitat və ya yazının qısaldılmış versiyası ilə əvəz etmək.
İç-içə şərhlərin həyata keçirilməsi
Daxili ağac şərhləri ziyarətçilərə zəngin müzakirə dialoqu yaradaraq seçilmiş mövcud şərhə cavab yazmağa imkan verir. Parametrlərdə bu funksiyanı aktivləşdirdikdən sonra hər bir şərhin yanında “Cavab ver” linki görünəcək və bu, konkret şərh üzərində danışmağa imkan verəcək.
Bu ehtimal ortaya çıxmazdan əvvəl, seçilmiş müəllifə onun adını və şərh mətnindəki @ işarəsindən istifadə edərək “@Vasya səhv edirsən!” kimi cavab vermək üslubu var idi. Bəzi transformasiya ilə bu üsul İnternetdəki bir çox tətbiqdə kök saldı və hələ də yaşayır, məsələn, Twitter-də. WordPress-in müasir versiyalarında belə bir qeyddən istifadə etmək lazım deyil.
İndi sadəcə olaraq müvafiq “Cavab vermək” linkinə klik edib, çıxış etmək lazımdır. Şərh mətni təsdiqləndikdən sonra o, haqqında yazılan şərhin altında dərhal görünəcək.
Şablonunuz bu cür şərhləri dəstəkləmirsə, onu əlavə etməyin asan yolu var:
- Biz faylların ehtiyat nüsxələrini hazırlayırıq ki, bu da nəzəri olaraq artıq vərdişə çevrilməlidir
- Ayarlarda iç-içə şərhləri aktivləşdirin Seçimlər → Müzakirə Parametrləri → Ağac şərhlərinə icazə verin
- wp_head()dən dərhal əvvəl header.php-ə aşağıdakı kodu əlavə edin
- Bağlama teqindən dərhal əvvəl comments.php-ə əlavə edin
- Bunu yoxlayaq
- Şərh formasının əlavə olunduğunu yoxlayırıq id="cavab vermək" atributu ilə
- Şərh formasından dərhal əvvəl ləğv şərh linki əlavə edin
- comments.php-də köhnə döngəni yenilənmiş ilə əvəz edirik
Yaxşı, hamısı budur :) Ənənəvi olaraq, ehtiyaclarınıza uyğunlaşdırmaq üçün onu fərdiləşdirmək və yenidən düzəltmək üçün bir trilyon müxtəlif yol var, amma məncə fikri başa düşürsünüz. Etməli olduğunuz şey, iç-içə şərhlər üçün üslubları təyin etməyi unutmayın
Şərh siyahısı li.depth-1() .commentlist li.depth-2() .commentlist li.depth-3()
Şərhləri, pingbackləri və trackbackləri ayırırıq
Postunuza cavabları göstərərkən, qarışıqlığı azaltmağın təsirli yolu şərhləri və pingləri ayrıca göstərməkdir. Bu, nəinki müzakirələrin ardıcıllığını pozmayacaq, həm də diqqəti şərhlərə yönəltməyə imkan verəcək.
Bu, ən qədim hiylələrdən biridir və onu həyata keçirməyin bir çox yolu var, burada wp_list_comments() parametrlərindən istifadə edərək sadə bölünmə nümunəsidir:
Şərhlər
Pingbacks/Trackbacks
Bununla belə, bu kodun bir çatışmazlığı var - heç bir şərh və ya ping olmadıqda başlıqlar göstəriləcək. Bir az təkmilləşdirilmiş versiyadan istifadə etmək daha yaxşı olardı:
Şərhlər
Trackbacks/Pingbacks
Pingbacks göstərildikdə, keçid saytından götürülmüş mətn parçası ilə bir keçid göstərilir. Bu fraqment müxtəlif ölçülərdə ola bilər və ona nəzarət etmək çətindir, çünki... Orada nələrin nümayiş olunacağı əvvəlcədən məlum deyil. Xoşbəxtlikdən, siz linklərin səliqəli siyahısını göstərərək bu mətnin ekranını təmizləyə bilərsiniz. Bunu etmək üçün siz functions.php-ə əlavə etməlisiniz
Funksiya cleanPings($comment, $args, $depth) ( $GLOBALS["comment"] = $comment; echo "
- ".comment_author_link()"
";}Və sonra şərh funksiyası çağırışına tələb olunan geri çağırış parametrini əlavə edin
Pinqbackləri və trackbackləri məhv etmək
İnsanların saytınıza keçidinə mane ola bilməzsiniz, lakin onlarda trackbacks və pingbacks göstərməməyi seçə bilərsiniz. Başlanğıcda, İnternetdəki bir çox başqa şeylər kimi, pingbacks də yaxşı məqsədlər üçün icad edilmişdir - kiminsə sizinlə əlaqə saxladığını bildirmək. İndi də bəzi insanlar onlardan istifadə etməyə davam edir və geri çəkirlər. Lakin trackback texnologiyası kütləvi spam səbəbindən özünü tamamilə etibardan saldı, ona görə də onları söndürmək daha yaxşı olardı.
İdarəetmə panelindən pinglərin göstərilməsini deaktiv edin
Bunu etmək üçün Müzakirə parametrlərində seçimdən işarəni çıxarın Digər bloqlardan bildirişlərə icazə verin. Bu, pingbacks və trackbacks funksiyalarını tamamilə söndürür, lakin ayrıca seçilmiş giriş üçün bu funksiyanı parametrlərdə aktivləşdirə bilərsiniz.
Şərhlərdən pinglər istisna olmaqla
Biz yalnız şərhlərin göstərilməsinə imkan verən wp_list_comments() funksiyası üçün parametrdən istifadə edirik
wp-trackback.php-ni silin
Bu çox sadə və təsirli bir yoldur - wp-trackback.php faylının fiziki olaraq silinməsi WordPress kök kataloqundan. Bu tamamilə təhlükəsiz üsuldur, lakin fayl WordPress yeniləməsindən sonra bərpa olunur və yenidən silinməlidir.
Pluginlərdən istifadə edərək deaktiv edin
Bu, bir plagin istifadə edərək edilə bilər
Pluginin özü çox sadədir və yalnız bir fayldan ibarətdir, ona görə də onun məzmunu sadəcə olaraq funksiyalar.php faylına kopyalana və yapışdırıla bilər.
Sinif DisableTrackbacks ( DisableTrackbacks() funksiyası (add_action("pings_open", array(&$this, "pings_open"));) funksiya pings_open($open) (qaytarma ("1" == get_query_var("tb")) ? FALSE : $open;) ) add_action("plugins_loaded", create_function("", "qlobal $DisableTrackbacks; $DisableTrackbacks = yeni DisableTrackbacks();"));
Yerləşdirildikdən sonra DisableTrackbacks funksiyası bütün trackbackləri məhv edir. Ancaq pingbacks qalır.
Biz şərhlərə birbaşa verilənlər bazasında nəzarət edirik
WordPress yazının şərh üçün açıq olub-olmamasına nəzarət etmək üçün bir neçə üsul təklif edir. Admin panelində siz bütün saytda gələcək yazılara şərh yazmağı tamamilə qadağan edə bilərsiniz. Həmçinin, redaktorda bir girişdə siz Müzakirə blokunda şərhlərin ona açıq olub-olmamasını seçə bilərsiniz.
Ancaq bu üsulların yuxarısında müəyyən bir müddətdən sonra bütün köhnə şərhləri gizlətməyə və onları moderasiyaya göndərməyə imkan verən bir plagin var. Və heç bir plagin olmadan verilənlər bazasına sadə sorğularla şərh yazmağı aktivləşdirə və söndürə bilərsiniz.
Qlobal olaraq bütün istifadəçilər üçün pinglərə icazə verin
YENİLƏNİB wp_posts SET ping_status = "açıq";
Bütün istifadəçilər üçün pingləri qlobal şəkildə qadağan edin
YENİLƏNİB wp_posts SET ping_status = "qapalı";
Müəyyən bir nəşr tarixinə qədər pingləri qlobal şəkildə qadağan edin
YENİLƏNİN wp_posts SET ping_status = "qapalı" YERDƏ post_date< "2009-09-09" AND post_status = "publish";
Bu cür istəklər vaxtaşırı təmizlənməyə imkan verir. Və burada qlobal icazə və ya şərh qadağası üçün sorğuların bir nümunəsidir
YENİLƏNİB wp_posts SET comment_status = "açıq", ping_status = "açıq" WHERE comment_status = "qapalı" VƏ post_status = "dərc et";
Əlaqədar nəşrlər
Əslində bizə ancaq sizin ləqəbinizlə şərhlər tapmaq lazımdır (məsələn, bu bloqda Katyaru ləqəbi ilə yazıb cavab verirəm). Və belə başlayan tələb olunan xəttin üstündə:
Təşəkkür edirəm, əla saytınız var!