Аппараттық және бағдарламалық қамтамасыз етуді орнату

Арнаулы түсініктеме шығысы. Пайдаланушыларға әмбебап жүйелерге WordPress баламаларында анонимді пікірлер қалдыруға рұқсат беру

(мұнда біз түсініктеме пішінінің алдында тақырыптағы h3 тегтерін алып тастадық) - бүгін біз WP түсініктеме пішінінің функциясын толығымен ережелерімізге сәйкес жұмыс істейтін боламыз:

біз өз стильдерімізді орната аламыз, «Түсініктеме қосу» тақырыбын өз қалауымыз бойынша өзгерте аламыз, қажет болған жағдайда белгілі бір ақпаратты енгізу жолақтарын алып тастай аламыз, мысалы, url пішіні, толтырғышты конфигурациялау және т.б. және, ең бастысы, қозғалтқышты жаңарту кезінде мұның бәрін жоғалтпау.

Бүгін біз функционалдық файлды өңдеу арқылы мақсатымызды оңай орындаймыз. Егер сіз сайт кодын өңдеуге күшіңізді сезсеңіз (бұл әдіс бұрын сипатталғанға қарағанда біршама күрделірек) ...

Концертті бастайық:

WordPress ядросын өңдеу керек пе?

Өздеріңіз білетіндей, WordPress өзегін (CMS файлдарын) өңдеу ұсынылатын әрекет емес, себебі қозғалтқышты жаңартқаннан кейін әзірлемелер жоғалады! Әсіресе жаңадан келген ресурс әкімшілері үшін бұл WordPress жаңартулары кенеттен (олардың білместен) жасалады, мұны қалай болдырмауға болады, мынаны оқыңыз.

WordPress-ті жаңарту керек пе?

Мүлдем иә! ... келіспеушілік болуы мүмкін емес! …бірақ, бұл, жоғарыда айтылғандай, қозғалтқышты жаңарту әкімшінің шығарылымдарын қайта жазатынымен қиын!

Сондықтан, көптеген веб-шеберлер, көбірек икемді параметрлеролардың сайтында сүзгілердің барлық түрлерін қолданыңыз (бұзу): жаман емес! Дегенмен, мен (тек мен ғана емес) кейбір қосалқы (тұрақты жаңартулардың маңыздылығына қатысты) WP негізгі функцияларын үлгі түбіріне жылжытуды қалаймын.

Осылайша, шаблон деңгейінде сайттың күйін басқару үшін тақырыптық файлдарға қажетті түзетулерді шығарыңыз: жоғалтпай)

Өңдеуді бастайық, бірақ !!

... Мен сізге әр жолы еске саламын: блогпен барлық экс-жазбалардың қандай да бір құжатының «жад кітабын» бастаңыз. Өңделетін файлдарды көшіріңіз. Қолдануға келіңіз!

Маған сеніңіз: бұл кәсібилікке қысқарақ, өйткені жинақталған білім дәндерін ботқа пісіру екіталай!

Мақсатымызға жету үшін бізге не қажет:

WP өзегінен (comment-template.php файлынан) comment_form функциясын өңдеуді үлгі каталогына жылжытыңыз.

comment-template.php файлын қайдан табуға болады

Осы жолға your_domain/wp-includes файлы comment-template.php өтіңіз

... оны ашыңыз (немесе тікелей хостингте - мен мұны істеймін) немесе Notepad ++ бағдарламасында жүктеп алыңыз және өңдеңіз - оқыңыз: Блокнот++ қалай орнатуға болады

Осындай жолды іздеңіз (шамамен жол нөмірі 2111)

функция comment_form($args = массив(), $post_id = null) (

істеу_әрекеті("түсініктеме_пішіні_түсініктемелер_жабылды");

Мұның бәрін көшіріп, functions.php файлыңызға тасымалдайсыз.

Әдетте, барлық жаңа код толықтырулары жабылатын ?> тегіне дейін орналастырылады. Бірақ мен қосылған кодты, былайша айтқанда, тақырып бойынша топтастыруды ұсынамын, қажет болса, бәрін оңай таба аласыз.

Келесі қадам - ​​​​функцияның атын өзгерту: оны жүрегіңіз қалағандай атауға болады, кем дегенде номиналды монограммамен белгілеңіз ... Мен оны келесідей алдым:

My_my_ comment_form функциясы

Біз жұмысымызды сақтаймыз ...

…және тақырыптың comments.php файлына өтіңіз.

Бұл файлда функция шақыруының атын біз оны бірінші қадамда шақырғанға өзгертуіміз керек:

Құжаттан келесі фразаны іздеңіз (ол әдетте оның соңғы бөлігінде болады):және жай ғана my_my_ ұңғымасын немесе атыңызды қосыңыз.

Ол келесідей болуы керек:

... енді қоңырау тапсырмасы жаңа мүмкіндікаяқталды: үлгі логикасы тақырыпқа көшірілген біздің кодты пайдаланады!

Бізге не керек еді!

Енді сізге жаңадан шығарылған my_my_comment_form() функциясының кодын өңдеу ғана қалды;

... немесе жеке толтырғышты өңдеуді орнатыңыз - оның маған қалай көрінетінін қараңыз:

... түсініктеме беру формасының терезесінде комментатор өз хабарламасын терген бойда жоғалып кететін «Сіздің пікіріңіз ...» монограммасы бар ...

… және бұл… және бұл… сол сияқты.

Түсініктеме пішінінің элементтерін қосу/жою туралы сұрақтарыңыз болса, жазыңыз, біз оны анықтаймыз...

немесе осы жерден пайдалы үзінділер туралы постты оқи аласыз (

Сәндеуге шындап кірісетін кез келді WordPress пікірлері. Барлық дерлік тақырыптарда олар жүйелік файлдар арқылы конфигурацияланады, бұл өз кезегінде жеке функцияларды өңдеуді шектейді. Менің ойымша, көптеген адамдар түсініктемелерге өзгертулер енгізу қажет болғанда, бірақ оның қай жерде орналасқанын таба алмады. Сондықтан барлық функционалдылықты ағымдағы тақырыпқа ауыстырған дұрыс, бұл бізге толық бақылау еркіндігін береді.

Бұл мақалада мен бірнеше жинадым қызықты ерекшеліктеріпікірлерді жақсартуға көмектесу үшін. Дегенмен, олар сайт әкімшісімен де, пайдаланушылар арасында да диалог жүргізуге мүмкіндік береді. Сұрақтарға жауап беріңіз, әртүрлі талқылауларды бастаңыз, жалпы, толыққанды виртуалды коммуникацияны енгізіңіз. Сондықтан оларға мән беріп, дұрыс пішінге келтіру керек.

Міне, біз не істейміз:

  • Толық теңшеу
  • Сыртқы көріністі сәндеу
  • Пікірлерді нөмірлеу
  • Әр пайдаланушыға арналған жазбалар саны
  • Әрбір пайдаланушыға күй тағайындаңыз
  • Және басқа да ұсақ-түйектер

Біз әрбір тармақты бөлек талдаймыз, ал мақаланың соңында барлық функциялар толығымен біріктіріледі. дайын код.

Пікірлерді теңшеу

WordPress жүйесінде пікірлер wp_list_comments функциясы арқылы көрсетіледі, әдетте comments.php файлында. Ал жеке функцияларды қалыптастыру циклдің өзі сияқты шаблоннан қолданылады жүйелік файл comment-template.php . Бірақ сирек жағдайларда, бұл параметр болуы мүмкін WordPress тақырыбы, functions.php файлы немесе comments.php файлы.

Сонымен, егер сіздің тақырыбыңыз сирек кездесетін жағдайға жатпайтын болса және жеке баптауларыңызды жасау қажет болса, functions.php файлын ашып, ?> белгісінің алдына келесі кодты қосыңыз:

Егер (! function_exists("my_comment")) : function my_comments($comment, $args, $depth) ( жаһандық $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment->comment_type) : case " pingback" : case "trackback" : ?>

  • ", ""); ?>
  • id="li-comment-">
    comment_parent) $avatar_size = 39; echo get_avatar($пікір, $avatar_size); /* аудармашылар: 1: түсініктеме авторы, 2: күні мен уақыты */ printf(__("%1$s %2$s", "my_press"), sprintf(" %s", 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") : ?>
    __("Жауап беру", "менің_басуым"), "тереңдік" => $тереңдігі, "макс_тереңдігі" => $args["max_depth"]))); ?>
    ", ""); ?>

    Содан кейін comments.php файлында шақыру функциясын қосыңыз:

      "менің_түсініктемелерім")); $пікір саны = 0; ?>

    Осы манипуляциялардан кейін сіздің түсініктемелеріңіз ағымдағы тақырыптың functions.php файлынан үлгі функциясына сәйкес жасалады.

    Әрбір қолданушының пікірлерін санау

    Төмендегі функцияны пайдалана отырып, біз комментатордың жанында қалған жазбалардың жалпы санын көрсете аламыз. Осылайша, қалай екенін байқауға болады белсенді пайдаланушы, содан кейін статистика ешқашан артық болмайды, әсіресе осыған байланысты.

    Бізге бұрыннан таныс functions.php файлын ашамыз және соңында келесі кодты белгінің алдында жазамыз?>:

    //пайдаланушы жазбаларын санау функциясы bac_comment_count_per_user() ( жаһандық $wpdb; $comment_count = $wpdb->get_var("ТАҢДАУ COUNT(comment_ID) FROM ". $wpdb->түсініктемелер. " WHERE comment_author_email = "" . get_comment_author_e." " AND comment_approved = "1" ЖӘНЕ comment_type NO IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 Post"; ) 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("Пікір_идентификаторын автор_саны ретінде ТАҢДАУ $wpdbse FROM A $wpdbse> "; 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 &&$автор_саны<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $автор_саны<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("ТАҢДАУ COUNT(comment_ID) FROM ". $wpdb->түсініктемелер. " WHERE comment_author_email = "" . get_comment_author_e." " AND comment_approved = "1" ЖӘНЕ comment_type NO IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 Post"; ) else ( echo " " . $comment_count . " Хабарламалар "; ) ) //пайдаланушы күйінің функциясы get_author_class($comment_author_email,$user_id)( жаһандық $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("Пікір_идентификаторын $автор_саны ретінде SELECT FROM wpdb->пікірлер WHERE comment_author_email = "$comment_author_email" ")); if($comment_author_email ==$adminEmail) echo "Әкімші"; if($user_id!=0 && $comment_author_email !=$adminEmailR) echo егер " ($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 &&$автор_саны<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $автор_саны<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>=1200 && $comment_author_email !==$adminEmail) "Профессор" жаңғырығы; ) // түсініктемелерді теңшеу, егер (! function_exists("wordsmall_comment")) : function wordsmall_comment($comment, $args, $depth) ( жаһандық $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment- > comment_type) : case "pingback" : case "trackback" : ?>

  • id="li-comment-">
    %s", get_comment_author_link()); ?> comment_parent)( $comment_parent_href = htmlspecialchars(get_comment_link($comment->comment_parent)); $comment_parent = get_comment($comment->comment_parent); ?> @ Жауап:comment_author;?>
    comment_parent) $avatar_size = 60; echo get_avatar($пікір, $avatar_size); ?> comment_author_email,$comment->user_id)?>
    comment_approved == "0") : ?>
    ", ""); ?> __("Жауап беру", "қабырғаны басып"), "тереңдік" => $тереңдік, "макс_тереңдік" => $args["макс_тереңдік"]))); ?>

    Енді comments.php файлын ашыңыз, біз одан түсініктемелерді шақыру функциясын табамыз. Мынадай көрінеді:

    Мынаны өзгертіңіз:

      "сөздеркіші_түсініктеме")); ?>

    Соңғы қадам. 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 (comment .children) list-style-type: none; padding:0px; margin-left:0px;/*ағаш үшін толтыру қажет болса com.оны 15px*/ етіп орнатыңыз) .my_commentlist .comment .children .comment( margin:15px 0 0 0 ; жиек: жоқ; толтыру: 0; ) #пікірлер (фон: #fff; ) #түсініктемелер .менің_түсіндірме тізімім ( жиегі: 10px 0; толтыру: 0; тізім стилі: ешбір; фондық: #ebf0f3; толтыру: 5px; ) # пікірлер .my_commentlist .comment (маржа:0; толтыру: 0 0 10px; фондық: #fff; ) #comments .my_commentlist .my_comment-author (дисплей: кірістірілген; жиек-оң жақта: 1px тұтас #e0e0e0; ені: 100px; қалқымалы: сол жақ; жиегі: 0px 15px 10px 0; ) #пікірлер .менің_пікірлер тізімім .commentmetdata ( float:left; ) #comments .my_commentlist p (айқын:жоқ; түсі: #555; шрифт: 14px arial; жол биіктігі: 23px; ) # пікірлер .my_commentlist .comment-conte nt(сол жақтағы жиек: 116px; толтыру-оң жақ: 10px; ) #comments .my_commentlist .reply ( text-align:right; ) #comments .my_commentlist .reply a( фон: #f5f5f5; жиек: 1px қатты rgba(0, 0, 0, 0.06); жиек радиусы: 2px; түсті : #515456; дисплей: кірістірілген блок; қаріп өлшемі: 13 пиксель; шрифт өлшемі: қалыпты; жол биіктігі: 30 пиксель; оң жақ жиегі: 15 пиксель; минимум биіктігі: 30 пиксель; толтыру: 0 12 пиксель; мәтінді туралау: ортасына ; мәтінді безендіру: жоқ; ) .my_commentlist .avatar( жиек: орташа жоқ; жиек радиусы: 50%; қалқымалы: жоқ; жиек: 5px авто; толтыру: 0px; көрсету: кесте; ) .my_commentlist .comment-header( биіктігі: 30px; фон: #DEE5EB; төменгі жағы: 15px; ) .my_commentlist cite.fn( түсі: #444; шрифт: қалың 13px/30px arial; толтыру-сол жақ: 10px; ) .my_commentlist .com_date (түсі: # 8ca0b5; қаріп: қалыпты 13px/30px arial; қалқымалы: оңға; толтыру-оңға: 15px; ) .my_commentlist .comment-body ( толып кету: жасырын; орын: туыс; фон:#fff; ) .my_commentlist .rep-authorcom ( түсі: #25394e; шрифт өлшемі: 13px; жол биіктігі: 30px; ) .my_commentlist .edit-link a ( фон: жоқ !маңызды; шекара: жоқ !маңызды; шекара-радиусы: 0 !маңызды; түсі: #999! маңызды; дисплей: кірістірілген блок; шрифт өлшемі: 11 пиксель ! маңызды; шрифт өлшемі: қалыпты; жол биіктігі: 30 пиксель; жиек-оң жақта: 5 пиксель ! маңызды; мин-биіктігі: 30 пиксель ; толтыру: 0 !маңызды; мәтінді туралау: орталық; мәтінді безендіру: жоқ; ) .com_per (жиек: орташа ешбір; түс: #666; дисплей: блок; шрифт өлшемі: 11px; мәтінді туралау: орталық; ) .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-те түсініктеме пішінін қолмен қалай өзгертуге болатынын сіздермен бөлісемін. Менің ойымша, бұл білім кез келген жаңа бастаған блогерге пайдалы болуы мүмкін, өйткені түсініктеме беру формасы кейде келушілер мен автор арасындағы қарым-қатынастың жалғыз құралы болып табылады. өтіп кетпеңіз :)

    Кодпен кез келген манипуляцияларды бастамас бұрын, мен сізге тақырыптық файлдарды емес, WordPress файлдарын өңдейтінімізді алдын ала ескерткім келеді. Иә, біреуге қауіпті, біреуге мағынасыз болып көрінуі мүмкін, біреуге ұнамайды :) Бірақ мен мұны дәл солай жасадым және менде ешқандай қиындық болған жоқ. Бастамас бұрын өңделген файлдың сақтық көшірмесін жасауды ұсынамын.
    Мен сізге қауіпсіздік туралы ескерттім, енді мен келген нәтижені көрсеткім келеді.


    Көріп отырғанымыздай, «Сіздің электрондық поштаңыз жарияланбайды. Міндетті өрістер *" белгіленеді. Келушілерді миы жоқ ақымақ деп санаудың қажеті жоқ. Олар не істеу керектігін және не істеу керектігін түсінеді. Мен өріс атауларын өрістердің ішіне жасырдым. Бұл қандай майлы посттар? Өріс атаулары жоқ келушілердің көпшілігі қайсысының қайсысына жататынын «көзбен» анықтай алады. Бірақ ішкі кеңестер әлі де болуы керек. Түсініктеме өрісіндегі жазу қажетсіз батылдығын жоғалтты. Менің ойымша, ол әлдеқайда жақсырақ және еркін болды.

    Ендеше тез арада өзгеріс жасайық! ;)
    Біз сайтымыздың қалтасына өтіп, одан wp-includes/comment-template.php файлын табамыз. Біз одан 1522 жолды іздейміз, иә, иә, дәл солай. Мен мұны өзім қалай таптым, бұл бүкіл тарих, мен бұл туралы сәл кейінірек айтамын :)
    Сонымен, өңдеу үшін файлды ашып, 1522 жолға өтіңіз. Енді ол және келесілер (1529 жылға дейін) келесідей нәрсе:

    $fields = массив("автор" => "

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

    ", "электрондық пошта" => " ", "url" => "

    " . "

    ",);

    Барлығы қаншалықты қарапайым және түсінікті. Артық нәрсені кесіп тастап, аздап қосу жеткілікті. Параметр қосылады

    Placeholder="(!LANG:Анықтама мәтіні" !}

    Бұл опция өрістердің ішінде кез келген мәтінді көрсетуге мүмкіндік береді. Біз оны кеңестерді көрсету үшін пайдаланамыз:

    "

    " "

    " "

    "

    Жолдарды жойайық:

    "

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

    "

    Олар өрістердің үстіндегі жазуларды көрсетуге жауапты.
    БАРЛЫҚ осы манипуляциялардың нәтижесінде біз мыналарды аламыз:

    $fields = массив("автор" => "

    ", "электрондық пошта" => "

    ", "url" => "

    ",);

    Тек «Сіздің электрондық поштаңыз жарияланбайды. Міндетті өрістер *" белгіленеді. Ол үшін жолды жойыңыз (шамамен 1537):

    "comment_notes_before" => "

    " .__("Электрондық пошта мекенжайыңыз жарияланбайды.") .($req ? $required_text: "") . "

    ",

    Осымен біткен сияқты, енді формамыз аздап тартымдырақ болды. Бұл ақпарат біреуге пайдалы болады деп үміттенемін :)

    Жазылыңыз, пікір қалдырыңыз, мен кез келген адекватты пікірлерге қуаныштымын. Мүмкін мен бірдеңені білмеймін және сіз оны басқаша жасай аласыз, өз ойыңызбен бөлісіңіз.

    Сәлеметсіз бе!

    Бүгінгі мақала туралы WordPress пікірлерін шығару. Түсініктемелерді көрсетуге жауапты код қай файлдар мен функцияларда орналасқанын қарастырамыз. Осы WordPress блог блогына өзгертулер енгізу үшін не істеу керек.

    Бастау үшін әрбір WordPress үлгісі (тақырып) файлы бар comments.php, Түбірлік каталогтан оған толық жол: /wp-content/themes/template_folder/comments.php

    Дәл comments.phpәдетте белгілі бір WordPress тақырыбындағы түсініктемелер блогына жауап береді.

    comments.php ішінде жиі не бар:

    – түсініктемелердің құпия сөзбен қорғалуын тексеру

    – мақалаға түсініктеме беруге рұқсат етілгенін тексеріңіз

    – түсініктемелерді тексеру және сәйкес мәтінді көрсету («Пікірлер жоқ ...» немесе «N түсініктеме қалды»)

    түсініктеме шығару функциясын шақыру - wp_list_comments()

    – бірнеше беттерге пікірлерді орналастыру кезінде навигацияның шығуы (пейджинг).

    – мақалаға пікір қалдыру формасын көрсету

    Мұнда өз сыныптарыңызды орнатуға немесе сипаттарды өзгертуге болатыны анық style.cssбұрыннан бар сыныптар үшін. Сондықтан сіз өзгерте аласыз сыртқы түрітүсініктемелер мен мәтіндерді түсініктемелер тізіміне дейін және осы тізімнен немесе пішіннен кейін қалдыруға арналған пішіндер. Бірақ comments.php ішіндегі түсініктемелердің шығыс мәнерлерін өзгерту мүмкін емес.

    Мен файлдың мазмұнын тізімдеген кезде comments.php, деп ерекше атап өтті comments.phpтек түсініктемелерді көрсету функциясына шақыру бар wp_list_comments(), бірақ шығыстың өзі емес. Анау. жылы comments.phpтаба алмайсыз (кем дегенде соңғы нұсқалары WordPress және үлгілерді әзірлеуге дұрыс көзқараспен): хабарлама авторының атын және оның сайтына сілтемені көрсету, автордың профильдік суретін көрсету, түсініктеменің күні мен уақытын, түсініктеменің өзін және «жауапты» көрсету сілтеме.

    Түсініктемелер тізіміндегі стильдерді қалай өзгертуге болады?

    Алдымен үлгіңізде түсініктемелерді көрсету үшін теңшелетін функцияны пайдаланатынын білуіңіз керек.

    wp_list_comments() функциясына қоңырау шалу кері қоңыраусыз (кері қоңырау шалу функциясы) және кері қоңырау шалу арқылы мүмкін болады.

    1. Кері қоңыраусыз wp_list_comments шақыру:

    Анау. функцияның параметрлерінде (жақшада не бар, атаудан кейін), еш жерде «кері шақыру» атауы бар параметр жоқ.

    Егер кірсе comment.phpСіздің үлгіңіз осындай жағдай бұл бұл тақырыптың түсініктемелерді көрсетуге арналған өзіндік (теңшелетін) функциясының жоқтығын білдіредіжәне бұл үшін стандартты үлгі қолданылады (WordPress негізіндегі үлгі). Ол файлда орналасқан. Содан бері, содан бері бұл жағдайда түсініктемелерді көрсету мәнерлерін өзгерту біз екінші опцияға көшпейінше жұмыс істемейді.

    2. Кері қоңырау арқылы wp_list_comments нөміріне қоңырау шалыңыз:

    "type=comment&avatar_size=48&callback=custom_comment") ; ?>

    кері шақыру = Custom_commentекенін көрсетеді пікірлерді көрсету үшін бізде теңшелетін функция бар теңшелетін_түсініктеме , оның кодын, шамамен айтқанда, стандартты функцияға орындау үшін параметр ретінде береміз wp_list_comments. Бірақ бізді енді бұл мәселенің техникалық жағы қызықтырмайды, бірақ шаблонда түсініктемелерді көрсетуге арналған өз функциясының болуы. Бұл функцияның коды ішінде орналасқан.

    Дәл осында теңшелетін функция теңшелетін_түсініктемежәне жеке түсініктеменің пайда болуына жауапты код, демек, тұтастай алғанда барлық түсініктемелер орналасқан.

    Пайдаланушы функциясының коды интуитивті. Ол әдетте келесі стандартты WordPress мүмкіндіктерін пайдаланады:

    get_comment_author_link()– ағымдағы түсініктеме авторының сайтына html сілтемесін алады;

    get_comment_date()– түсініктеме күнін алады;

    get_comment_time()– түсініктеме уақытын алады;

    comment_text()- түсініктеме мәтінін көрсетеді;

    Сіз кодтан осы функциялары бар фрагменттерді таба аласыз және оларды divs немесе spans ішіне орау және белгілі бір стиль сыныптарын тағайындау арқылы белгілі бір элементтердің көрінісін өзгерте аласыз.

    Мысалы, пайдаланушы функциясының кодында аватар шығысының фрагменті:

    < div class = "comment-author" >

    < / div >

    Енді қалды style.cssсыныпқа қажетті қасиеттерді орнатыңыз пікір-автор. Стильдерді өзгертудің нақты мысалдарын келесі мақалалардың бірінде толығырақ қарастырамын.

    Енді сізді қызықтыруы мүмкін: Менің үлгімде түсініктемелерді көрсету үшін теңшелетін функция болмаса ше?

    Жауап: оны жасау керек.

    Ең оңай нұсқа - кодты көшіру стандартты функция WordPress пікір().

    Түсініктемелерді көрсету үшін теңшелетін функцияны құру нұсқаулары:

    1. Файлды ашыңыз /wp-includes/comment-template.phpжәне ондағы функцияны табыңыз пікір().

    Міне, оның сипаттамасының басы

    /** * @sice 3.6 * @access protected * * @param нысан $comment Көрсету үшін түсініктеме. * @param int $depth Түсініктеме тереңдігі. * @param массиві $args Қосымша аргтар. */ қорғалған функцияның түсініктемесі($comment, $depth, $args) (

    * @3.6 бастап

    * @access қорғалған

    * @param нысан $comment Көрсетілетін түсініктеме.

    * @param int $depth Түсініктеме тереңдігі.

    * @param массиві $args Қосымша аргтар.

    қорғалған функцияның түсініктемесі ($comment , $depth , $args ) (

    2. Функцияның бүкіл денесін көшіріңіз пікір().

    Код фрагментін 1-тармақта көрсетілген сипаттаманың басынан аяғына дейін көшіру керек бұйра жақша } және оны ұстану ұқсас сипаттамабасқа функция

    Сәлем достар және блог қонақтары! Бүгін мен сізге PHP және MySQL тілдерін қолданатын боламын. туралы да айтатын боламыз сайтқа түсініктеме беру жүйелеріжәне мен ұсынғандардың ішінен сайтыңызға ең жақсысын таңдаңыз.

    Бірінші сұрақ: көмегімен PHP және MySQL?

    Ол үшін сіз бен біз алдымен сайтыңыздың деректер базасында кесте құруымыз керек, оны - деп атайды. пікірлер. Бұл жасалған кесте түсініктемелерді келесі белгілеулері бар өрістерде сақтайды:

    idбірегей идентификатор болып табылады.
    page_id- бұл өріс осы түсініктеме орналасқан сайт бетінің идентификаторын сақтайды.
    атыосы пікір қалдырған пікір қалдырушының аты.
    мәтіндік_түсініктеме- сәйкесінше, бұл қазіргі түсініктеменің мәтіні.

    Келесі қадам, дерекқорда түсініктемелер үшін кестені жасағаннан кейін, біз іске асыруымыз керек арнайы кодсайттағы болашақ пікірлеріміз үшін. Бұл сайт коды біздің комментаторларға мақалаларымызға өз пікірлерін қосуға мүмкіндік береді. Міне код:


    Бұл қарапайым HTML пішінісайтқа арналған пікірлер. Сіз оны өз сайтыңызға постқа пікір қалдыруға ыңғайлы жерге орналастырасыз - әрине, посттың астына.

    query("INSERT INTO `comments` (`name`, `page_id`, `text_comment`) VALUES ("$name", "$page_id", "$text_comment")");// Кесте тақырыбына түсініктеме қосу(" Орналасқан жері: ".$_SERVER["HTTP_REFERER"]);// Біз кері бағыттаймыз ба?>

    PHP және MySQL веб-сайттары үшін түсініктеме пішінін жасаудың соңғы қадамы веб-сайт бетінде біздің пікірлерімізді көрсету болып табылады. Міне, бұл үшін код:

    query("Таңдаңыз * FROM `пікірлер` ҚАЙДА `page_id`="$page_id""); //Осы бет үшін барлық түсініктемелерді алу кезінде ($жол = $result_set->fetch_assoc()) ( print_r($row); //Пікірлерді басып шығару жаңғырығы "
    "; } ?>

    Осымен болды! Біздің қарапайым веб-сайтқа түсініктеме пішіні қазір веб-сайтта жұмыс істейді.

    Бірақ бұл барлық HTML, PHP және MySQL кодтарын зерттемейтін жаңадан бастағандар үшін емес. Сондай-ақ дерекқорды жасауды үйренбейді. Оған бәрі бірден, тез және бас ауыртпай қажет. Менікі дұрыс? Әрине дұрыс!

    Содан кейін материалымның келесі бөліміне өтіп, сайтқа арналған дайын түсініктеме жүйелері туралы бәрін біліп, сайтыңыз үшін ең ыңғайлы, функционалды және қолайлысын таңдайық ...

    Сайтқа түсініктеме беру жүйелері. Қайсысын таңдау керек?

    Сайтқа қалай түсініктеме беруге болады- бұл маңызды сұрақ, өйткені сайттағы түсініктемелер сайт иесі мен келуші арасындағы қарым-қатынас үшін ғана емес, сонымен қатар түсініктемелер үшін маңызды рөл атқарады. SEO жарнамасыжәне акциялар.

    Сайттағы пікірлердің көмегімен сайттың позициясы іздеу нәтижелері, жақсарту мінез-құлық факторлары, сайтқа трафик өседі, демек сіздің табысыңыз да артады. Түсініктемелердің сайт үшін қаншалықты маңызды екенін көресіз!

    Ендеше қарап көрейік сайтта қалай пікір жазу керекжәне не түсініктеме беру жүйесіең жақсы нұсқаны таңдаңыз?

    Жалпы, сайттардағы пікірлер көптеген жолдармен көрсетіледі. Бұл WordPress қозғалтқыштары мен пікірлеріне арналған арнайы плагиндер әлеуметтік желілерсияқты әр түрлі заттар Байланыста, Facebook, Disqus. Сондай-ақ, мысалы, сайт үшін өздерінің түсініктеме жүйелерін ұсынатын тәуелсіз қызметтер бар.

    Мен сізге бір планшетті беремін, ол бірден бәрін өз орнына қояды және сайт үшін түсініктеме жүйесін таңдау туралы сұрақтар болмайды:

    Мұнда барлығы анық және анық көрінеді, қандай түсініктеме жүйесі ең жақсы және бірнеше ұсынылған, оларды веб-шеберлер өз ресурстарында жиі пайдаланады. Менің ойымша, бұл жерде түсініктемелер артық және таңдау тек сіздікі!

    Мен өзім үшін шешім қабылдадым және Cackle сайтынан сайтыма түсініктемелер жүйесін орнаттым.

    Айтпақшы, егер сіз өзіңіздің сайтыңыз үшін жүйені таңдауды шешкен болсаңыз, онда мына сілтеме бар 5% жеңілдік береді Cackle-ден түсініктеме жүйесін сатып алу үшін!

    Ал бүгін менде бар болғаны! Барлығына сәттілік пен өркендеу! Келесі кездескенше!

  • Мақала ұнады ма? Достарыңызбен бөлісіңіз!
    Бұл мақала пайдалы болды ма?
    Иә
    Жоқ
    Пікіріңізге рахмет!
    Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
    Рақмет сізге. Сіздің хабарламаңыз жіберілді
    Мәтіннен қате таптыңыз ба?
    Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!