Reacties aanpassen in WordPress - Functionaliteit en uiterlijk

In WordPress zijn er verschillende inhoudstypen zoals post, pagina en reacties enz. Deze vormen de basisprincipes van WordPress. WordPress is een zeer aanpasbaar platform waarmee u de meest basistypen voor een groot deel aan uw site kunt aanpassen. Men kan zowel het uiterlijk als de functionaliteit van de basistypen wijzigen om ervoor te zorgen dat ze zich gedragen en er uitzien zoals het uiterlijk en de functionaliteit van uw site. In dit artikel gaan we bekijken hoe we het gedrag en de weergave van de opmerkingen op onze WordPress-site kunnen wijzigen.


Stap 1 Inzicht in de comment_form Functie en zijn argumenten

Laten we eens naar de WordPress-functie kijken comment_form. Dit is verantwoordelijk voor het tonen van het opmerkingenformulier dat meestal wordt weergegeven op de enkele pagina of in WordPress. Een aanroep van deze functie wordt meestal gezien in de comments.php bestand van uw themamap. Dan zou dit bestand op verschillende plaatsen, zoals single.php, page.php, enz. rechtstreeks of door het comments_template functie.

U kunt meer informatie vinden over comments_template in de WordPress Codex.

Als we de comment_form functie om het formulier weer te geven, wordt het formulier weergegeven met behulp van de standaardparameters. Dit zijn velden zoals naam, e-mail (beide zijn verplicht), website en de inhoud van de opmerking. Op het Twenty Eleven standaardthema ziet het formulier er als volgt uit.

Enkele van de belangrijke argumenten voor de comment_form functie zijn:

  • velden - Hiermee kunt u bepalen welke velden in het reactieformulier worden weergegeven.
  • comment_notes_before en comment_notes_after - Deze worden gebruikt om een ​​notitie voor of na het reactieformulier weer te geven.
  • title_reply - Hiermee kun je de titel van het antwoord wijzigen, die standaard 'Laat een antwoord' is.
  • label_submit - Dit kan worden gebruikt om de tekst via de verzendknop van de opmerking te wijzigen.

Stap 2 Uw commentaarformulier aanpassen met behulp van de functie comment_form

Laten we nu ons commentaarformulier aanpassen door verschillende argumenten door te geven comment_form.

In het geval dat we de velden van het commentaarformulier willen aanpassen, kunnen we de velden doorgeven aan de comment_form functie. De standaardvelden in de comment_form functie zijn als volgt:

 $ fields = array ('author' => '

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

',' email '=>'

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

',' url '=>'

'. '

',);

Dus in het geval dat we het veld van de website willen verwijderen, moeten we de velden zonder het veld van de website als volgt maken en doorgeven aan de comment_form.

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

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

',' email '=>'

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

',); $ comments_args = array ('velden' => $ velden); comment_form ($ comments_args);

Als we nu het opmerkingenformulier bekijken, ziet het er als volgt uit:

Laten we daarnaast de titel van het antwoord wijzigen in 'Geef ons je waardevolle opmerking' en verander ook de titel van de knop voor het reageren op de reactie op 'Stuur mijn reactie'.

Hieronder volgen de argumenten die we zullen doorgeven comment_form om dit te behalen:

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

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

',' email '=>'

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

',); $ comments_args = array ('fields' => $ fields, 'title_reply' => 'Geef ons alstublieft uw waardevolle opmerking', 'label_submit' => 'Send My Comment'); comment_form ($ comments_args);

Als we nu het reactieformulier zien, ziet het er als volgt uit:


Stap 3 Velden verwijderen uit de opmerking voor het gebruik van haken

Het opmerkingenformulier van WordPress kan ook worden aangepast met behulp van haken en filters. Aanpassen met behulp van hooks / filters is erg handig, vooral wanneer u via een plug-in aan het aanpassen bent en de themabestanden niet kunt wijzigen. Het filter om velden toe te voegen of te verwijderen van het opmerkingenformulier is 'comment_form_default_fields'

Laten we nu het URL-veld verwijderen met dit filter. De code om dit te doen kun je ofwel in je plugin-bestand plaatsen als je aan het aanpassen bent via de plug-in of in de functions.php bestand van uw thema.

De code is als volgt:

 function remove_comment_fields ($ fields) unset ($ fields ['url']); return $ velden;  add_filter ('comment_form_default_fields', 'remove_comment_fields');

Hierin voegen we de functie toe remove_comment_fields op de 'comment_form_default_fields'filter en schakel dan de url veld om het veld van de website te verwijderen.


Stap 4 Meer gegevens aan uw opmerkingen toevoegen met haken

We kunnen zelfs velden toevoegen aan de opmerking voor het gebruik van de 'comment_form_default_fields'filter. Laten we nu het leeftijdsveld van een auteur van een commentaar toevoegen met behulp van dit filter en dit veld vervolgens opslaan als een meta-commentaar en dit weergeven in de opmerking.

We kunnen een veld als volgt toevoegen:

 function add_comment_fields ($ fields) $ fields ['age'] = '

'. '

'; return $ velden; add_filter ('comment_form_default_fields', 'add_comment_fields');

Zodra we het veld toevoegen, afhankelijk van het thema, willen we het misschien stylen. Terwijl ik het Twenty Eleven-thema gebruik, teken ik het door toe te voegen #respond .comment-form-age-label met de andere labels stijl als #respond .comment-form-url-label etc. als volgt:

 #respond .comment-formulier-auteurlabel, #respond .comment-formulier-e-maillabel, #respond .comment-form-urllabel, #respond .comment-form-age-label, #respond .comment-form-commentabel  achtergrond: #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); kleur: # 555; weergave: inline-block; lettergrootte: 13px; links: 4px; minimale breedte: 60 px; opvulling: 4px 10px; positie: relatief; top: 40px; z-index: 1; 

Als we nu het commentaarformulier zien, ziet het leeftijdsveld er als volgt uit:

Nu de leeftijd is opgeslagen als de commentaar-meta, moeten we inhaken 'comment_posten sla de leeftijd op als meta voor reacties als volgt:

 functie 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);

Nadat de meta is opgeslagen, kan deze als volgt op de opmerking worden weergegeven:

 comment_ID, 'age', true); ?>

Stap 5 Opmerkingen aanpassen voor sommige specifieke berichttypen

Het kan soms handig zijn om enkele opmerkingenvelden te hebben voor specifieke berichttypen. Laten we nu wijzigingen in de code aanbrengen om het veld voor leeftijdsvragen alleen weer te geven als het een aangepast berichttype is, bijvoorbeeld boek.

De code om de leeftijd te hebben voor het aangepaste berichttype is:

 function add_comment_fields ($ fields) if (is_singular ('books')) $ fields ['age'] = '

'. '

'; return $ velden; add_filter ('comment_form_default_fields', 'add_comment_fields');

Dus hier voeg je het veld alleen toe als het van het type 'Boeken' is.


Stap 6 Een terugbelopdracht maken voor het weergeven van opmerkingen

De functie wp_list_comments wordt gebruikt om de opmerkingen over een bericht weer te geven. Je kunt over lezen wp_list_comments in de WordPress Codex.

wp_list_comments heeft een argument van 'Bel terug'waarin u de functie kunt opgeven die moet worden teruggebeld om de opmerking weer te geven.

In het Twenty Eleven-thema in comments.php je ziet een regel:

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

Dit zullen we veranderen in:

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

Dus de functie my_comments_callback zal voor elke post worden opgeroepen.


Stap 7 Uw opmerkingen vormgeven

Nu zullen we onze post een beetje anders stylen. We willen alleen de inhoud van het bericht en het leeftijdsveld weergeven dat we specifiek hebben toegevoegd. We veranderen ook de achtergrondkleur van de opmerkingen.

De code voor functie 'my_comments_callback' is als volgt:

 function my_comments_callback ($ comment, $ args, $ depth) $ GLOBALS ['comment'] = $ opmerking; ?> 
  • >

    comment_ID, 'age', true); ?>

    __( 'Antwoord ',' twentyeleven '),' diepte '=> $ diepte,' max_depth '=> $ args [' max_depth ']))); ?>
  • We wijzigen ook de achtergrondkleur als volgt:

     .commentaarlijst> li.comment background: # 99ccff; border: 3px solid #ddd; -moz-border-radius: 3px; grensradius: 3px; marge: 0 0 1.625em; opvulling: 1.625em; positie: relatief; 

    Als we nu de opmerkingen zien, zien ze er als volgt uit:


    Conclusie

    Opmerkingen spelen een belangrijke rol als men een community-site aan het bouwen is. Afhankelijk van de site kan de functionaliteit van de opmerkingen ook op de juiste manier worden aangepast. WordPress biedt een flexibel reactiesysteem en biedt een goede ondersteuning via functies om het gedrag en de weergave van de opmerkingen van uw site te veranderen. Veel plezier bij het aanpassen van uw WordPress-site!

    Laat het ons weten in de opmerkingen hieronder als u nog andere suggesties heeft voor het aanpassen van opmerkingen op uw WordPress-site.