Tilpasse kommentarer i WordPress - Funksjonalitet og utseende

I WordPress finnes det forskjellige innholdstyper som post, side og kommentarer etc. Disse danner selve grunnleggende om WordPress. WordPress som en svært tilpassbar plattform lar deg tilpasse de aller grunnleggende typene i stor grad for å passe til ditt nettsted. Man kan endre utseendet samt funksjonaliteten til de grunnleggende typene for å få dem til å oppføre seg og se etter utseendet og funksjonaliteten til nettstedet ditt. I denne artikkelen skal vi se hvordan vi kan endre oppførselen og utseendet til kommentarene på vår WordPress-side.


Trinn 1 Forstå comment_form Funksjon og dens argumenter

La oss se på WordPress-funksjonen comment_form. Dette er ansvarlig for å vise kommentarformularen som for det meste vises på den enkle siden eller posten i WordPress. Et anrop til denne funksjonen blir mest sett i comments.php fil i temamappen din. Da vil denne filen bli inkludert på forskjellige steder som single.php, page.php, etc. direkte eller ved å ringe comments_template funksjon.

Du finner mer informasjon om comments_template i WordPress Codex.

Hvis vi bruker comment_form funksjon for å vise skjemaet, vil skjemaet bli vist ved hjelp av standardparametrene som vil være felt som navn, e-post (begge er obligatoriske), nettside og kommentarinnholdet. På det tjuefemte standardtemaet vil skjemaet se ut som følger.

Noen av de viktige argumentene til comment_form funksjon er:

  • Enger - Deretter kan du faktisk kontrollere hvilke felter som vises i kommentarskjemaet.
  • comment_notes_before og comment_notes_after - Disse brukes til å vise noe notat før eller etter kommentarskjemaet.
  • title_reply - Ved å bruke dette kan du endre tittelen på svaret som som standard er 'Legg igjen et svar'.
  • label_submit - Dette kan brukes til å endre teksten over innleveringsknappen til kommentaren.

Trinn 2 Tilpasse kommentarformularen ved hjelp av funksjonen comment_form

La oss nå tilpasse vårt kommentarskjema ved å overføre forskjellige argumenter til comment_form.

Hvis vi vil tilpasse feltene i kommentarformularen, kan vi sende feltene til comment_form funksjon. Standardfeltene i comment_form funksjonen er som følger:

 $ felt = array ('author' => '

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

',' email '=>'

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

',' url '=>'

'. '

',);

Så hvis vi vil fjerne webområdet, må vi opprette feltene uten nettstedfeltet som følger og sende det til comment_form.

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

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

',' email '=>'

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

',); $ comments_args = array ('fields' => $ felt); comment_form ($ comments_args);

Nå hvis vi går og ser kommentarformularen, vil det se ut som følger:

I tillegg til dette la oss nå endre tittelen på svaret på «Vennligst gi oss din verdifulle kommentar» og også endre kommentaren til posttittelen til «Send min kommentar».

Følgende er argumentene vi skal passere til comment_form for å oppnå dette:

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

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

',' email '=>'

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

',); $ comments_args = array ('fields' => $ felt, 'title_reply' => 'Gi oss din verdifulle kommentar', 'label_submit' => 'Send min kommentar'); comment_form ($ comments_args);

Nå ser vi kommentasjonsskjemaet det ser ut som følger:


Trinn 3 Fjerne felt fra kommentaren for bruk av kroker

WordPress-kommentarskjemaet kan tilpasses også ved hjelp av kroker og filtre. Tilpassing med kroker / filtre er veldig nyttig, spesielt når du tilpasser deg gjennom et plugin og ikke kan endre temafilene. Filteret for å legge til eller fjerne felt fra kommentarskjemaet er 'comment_form_default_fields'

La oss nå fjerne URL-feltet ved hjelp av dette filteret. Koden for å gjøre dette kan du enten sette den i pluginfilen din hvis du tilpasser deg gjennom plugin eller i functions.php fil av temaet ditt.

Koden er som følger:

 funksjon remove_comment_fields ($ felt) unset ($ fields ['url']); returner $ felt;  add_filter ('comment_form_default_fields', 'remove_comment_fields');

I dette legger vi til funksjonen remove_comment_fields på 'comment_form_default_fields'filter og deretter deaktivere url feltet for å fjerne webområdet.


Trinn 4 Legge til flere data i kommentarene dine ved hjelp av kroker

Vi kan til og med legge til felt i kommentaren for å bruke 'comment_form_default_fields'filter. La oss nå legge til en kommentarforfatters aldersfelt ved hjelp av dette filteret og lagre dette feltet som en kommentar meta og vise det på kommentaren.

Vi kan legge til et felt som følger:

 funksjon add_comment_fields ($ felt) $ felt ['age'] = '

'. '

'; returner $ felt; add_filter ('comment_form_default_fields', 'add_comment_fields');

Når vi legger til feltet, avhengig av temaet, kan det hende vi ønsker å stillegge det. Når jeg bruker Twenty Eleven-temaet, stiler jeg det ved å legge til #respond.comment-form-age-etikett med de andre etikettene stil som #respond.comment-form-url-etikett etc. som følger:

 #respond .comment-form-author-etikett, #respond .comment-form-email label, #respond .comment-form-url-etikett, #respond.comment-form-age-etikett, #respond.comment-form-comment label  bakgrunn: #eee; -webkit-boks-skygge: 1px 2px 2px rgba (204,204,204,0,8); -moz-boks-skygge: 1px 2px 2px rgba (204,204,204,0,8); boks-skygge: 1px 2px 2px rgba (204,204,204,0,8); farge: # 555; display: inline-block; skriftstørrelse: 13px; igjen: 4px; min bredde: 60px; polstring: 4px 10px; stilling: relativ; topp: 40px; z-indeks: 1; 

Nå, hvis vi ser kommentarskjemaet, blir aldersfeltet sett på følgende måte:

Nå som alderen er lagret som kommentarmeta, må vi koble til 'comment_post'og lagre alderen som kommentar meta som følger:

 funksjon add_comment_meta_values ​​($ comment_id) hvis (isset ($ _ POST ['age'])) $ age = wp_filter_nohtml_kses ($ _ POST ['age']); add_comment_meta ($ comment_id, 'age', $ alder, false);  add_action ('comment_post', 'add_comment_meta_values', 1);

Når meta er lagret, kan det vises på kommentaren som følger:

 comment_ID, 'age', true); ?>

Trinn 5 Tilpasse kommentarer for enkelte bestemte posttyper

Det kan noen ganger være nyttig å ha noen kommentarefelt for bestemte posttyper. Nå kan vi lage kodendringer for å vise feltet Age Comment bare hvis det er en egendefinert innleggstype, som for eksempel bok.

Koden for å få alderen bare for bøker tilpasset posttype er:

 funksjon add_comment_fields ($ felt) if (is_singular ('books')) $ felt ['age'] = '

'. '

'; returner $ felt; add_filter ('comment_form_default_fields', 'add_comment_fields');

Så her legger du til feltet bare hvis det er av typen 'Bøker'.


Trinn 6 Opprette en tilbakeringing for å vise kommentarer

Funksjonen wp_list_comments brukes til å vise kommentarene på et innlegg. Du kan lese om wp_list_comments i WordPress Codex.

wp_list_comments har et argument om "Ring tilbake'der du kan angi hvilken funksjon som skal ringes tilbake for å vise kommentaren.

I det tjuefemte temaet i comments.php du vil se en linje:

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

Dette vil vi bytte til:

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

Så funksjonen my_comments_callback vil bli kalt for hvert innlegg.


Trinn 7 Styling Your Comments

Nå skal vi stille inn vårt innlegg litt annerledes. Vi vil bare vise innholdet i innlegget og aldersfeltet som vi har lagt til. Vi endrer bakgrunnsfargen på kommentarene også.

Koden for funksjonen 'my_comments_callback' er som følgende:

 funksjon my_comments_callback ($ kommentare, $ args, $ dybde) $ GLOBALS ['comment'] = $ comment; ?> 
  • >

    comment_ID, 'age', true); ?>

    __( 'Svare ',' twentyeleven '),' depth '=> $ dybde,' max_depth '=> $ args [' max_depth '])))); ?>
  • Vi endrer også bakgrunnsfargen som følger:

     .kommentarliste> li.comment bakgrunn: # 99ccff; grense: 3px solid #ddd; -moz-grense-radius: 3px; border-radius: 3px; margin: 0 0 1.625em; polstring: 1.625em; stilling: relativ; 

    Nå, hvis vi ser kommentarene, ser de ut som følger:


    Konklusjon

    Kommentarer spiller en viktig rolle som en bygger et fellesskapsside. Avhengig av nettstedet kan funksjonaliteten til kommentarene også tilpasses på riktig måte. WordPress gir et fleksibelt kommentarsystem og gir god støtte via funksjoner for å endre oppførselen og utseendet til kommentarene til nettstedet ditt. Så ha det gøy å tilpasse ditt WordPress-nettsted!

    Gi oss beskjed i kommentarene nedenfor hvis du har andre forslag til hvordan du tilpasser kommentarer på WordPress-siden din.