MyStreet7

Un blog despre ceea ce ma pasioneaza.

  • Belgia
  • Windows 10
    • Windows 7
  • Linux
  • Internet
  • Hardware
  • WordPress
  • Software
    • Android
    • Windows Phone
  • SEO
    • Blogging tips
  • Off topic
  • Auto
Home » Cum modificam sectiunea comentarii in WordPress

22 July 2012

Cum modificam sectiunea comentarii in WordPress

Platforma WordPress detine diferite tipuri de continut precum post, pagina si comentarii. WordPress fiind o platforma extrem de personalizata, va permite sa modificati in foarte multe tipuri structura acestuia  in asa fel incat sa se potriveasca cu site-ul. Puteti schimba atat aspectul cat si functionalitatea tipurilor de baza ale platformei. In acest articol veti vedea cum puteti schimba functionalitatea si aspectul comentariilor pe site-ul WordPress.

Pasul 1. Intelegerea functiei comment_form si argumentele sale

Aceasta functie face vizibil forumularul in care puteti scrie comentarii, afisat pe pagina sau post in WordPress. De obicei, veti gasi aceasta functie in fisierul comments.php din folderul temei. Apoi acest fisier poate fi inclus in diferite locuri precum single.ph, page.php etc. in mod direct sau apeland la functia comments_template.

Puteti gasi mai multe detalii despre comments_template in WordPress Codex.

Daca folositi functia comment_form pentru a afisa formularul de  comentarii, aceasta va fi afisata folosind parametrii impliciti care vor fi campurile numelui, email (amandoua sunt obligatorii), website si continutul comentariului. In tema implicita Twenty Eleven, forma va arata ca in imaginile urmatoare.

Unele din argumentele functiei comment_form sunt:
1. domeniile – prin care se poate controla ce compuri vor aparea in forma comentariului
2. comment_note_before si comment_note_after – acestea sunt folosite pentru a afisa anumite notiuni inainte si dupa formularul comentariului.
3. title_reply – folosind acesta puteti schimba titlul raspunsului care este in mod normal “Leave a Replay”
4. label_submit – acesta poate fi folosit pentru a schimba textul butonului de trimitere al comentariului.

Pasul 2. Personalizarea formularului de comentarii folosind functia comment_form

In cazul in care vreti sa modificati campurile formularului de comentarii, trebuie sa treceti de campurile functiei comment_form. Campurile implicite din functia comment_form sunt urmatoarele:

1. $fields = array(
2. 'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
3. '<input id="author" name="author" type="text" value="' $commenter. esc_attr( ['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
4. 'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
5. '<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
6. 'url' => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label>' .
7. '<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>',
8. );

In cazul in care vrem sa eliminam campul website, trebuie creem campurile fara optiunea website ca in codul urmator si sa il trecem in comment_form. [adsense float=”center”]

$commenter = wp_get_current_commenter();
$req = get_option( 'require_name_email' );
$aria_req = ( $req ? " aria-required='true'" : '' );
$fields = array(
 'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
 '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
 'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
 '<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
);

$comments_args = array(
 'fields' => $fields
);

comment_form($comments_args);

Acum puteti vedea rezultatul:

In plus, puteti modifica titlul “Leave a Reply” in “Please give us your valuable comment” si de asemenea puteti modifica textul butonului de comentariu in “Send My Comment”.

$commenter = wp_get_current_commenter();
$req = get_option( 'require_name_email' );
$aria_req = ( $req ? " aria-required='true'" : '' );
$fields = array(
 'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
 '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
 'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
 '<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
);

$comments_args = array(
 'fields' => $fields,
 'title_reply'=>'Please give us your valuable comment',
 'label_submit' => 'Send My Comment'
);

comment_form($comments_args);

Rezultatul:

Pasul 3. Eliminarea campurilor formularului de comentarii pentru folosirea carligelor

Formularul comentariilor din WordPress poate fi personalizata de asemenea, folosind anumite carlice. Personalizarea folosind carlige/filtre este foarte folositoare in special atunci cand customizati cu ajutorul unui plugin si nu poate modifica fisierele temei. Filtrul pentru a adauga sau elimina campuri din formularul de comentarii este “comment_form_default_fields“.

Acum eliminati campul URL-ului folosind acest filtru. Codul pentru a face acestu lucru poate fi pus in fisierul plugin daca personalizati cu ajutorul unui plugin sau in fisierul functions.php din tema.

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

In acesta adaugam functia remove_comment_fields in filtrul “comment_form_default_fields” si apoi dezactivati campul URL .

Pasul 4. Adaugare date folosind carlige

Putem adauga mai multe campuri la comentarii folosind filtrul “comment_form_default_fields”. Voi adauga campul pentru varsta autorului comentariului folosind acest filtru si apoi voi salva acest camp ca cu “comment meta” si afisarea acestuia la comentariu.

function add_comment_fields($fields) {

 $fields['age'] = '<p class="comment-form-age"><label for="age">' . __( 'Age' ) . '</label>' .
 '<input id="age" name="age" type="text" size="30" /></p>';
 return $fields;

}
add_filter('comment_form_default_fields','add_comment_fields');

Stilul campului depinde de tema folosita. In acest caz, tema este Twenty Eleven si l-am modificat adaugand #respond .comment-form-age label si am mai adaugat #respond .comment-form-url label etc

#respond .comment-form-author label,
#respond .comment-form-email label,
#respond .comment-form-url label,
#respond .comment-form-age label,
#respond .comment-form-comment label {
 background: #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);
 color: #555;
 display: inline-block;
 font-size: 13px;
 left: 4px;
 min-width: 60px;
 padding: 4px 10px;
 position: relative;
 top: 40px;
 z-index: 1;
}

 

Rezultatul ar trebuie sa fie urmatorul:

Acum ca varsta este stocata ca meta comentariu, avem nevoie de un carlig in “comment_post” si sa salvam varsata ca meta comentariu:

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

Odata ce meta este salvat, poate fi afisat pe comentariu :

<?php echo "Comment authors age: ".get_comment_meta( $comment->comment_ID, 'age', true ); ?>

Concluzie

Comentariile au un rol foarte important pentru a crea o comunitate pe site. Personalizarea formularului de comentarii depinde si de natura site-ului.

 

Article by Alexandru Ionut / WordPress / formular comentarii, personalizare sectiune comentarii, wordpress 9 Comments

Comments

  1. Stefan says

    8 December 2019 at 2:34 pm

    Ok, o sa folosesc link-urile si sper sa rezolv “problema”! Multumesc si tie si lui Marius.

    Reply
    • Alexandru Ionut says

      8 December 2019 at 2:49 pm

      cu placere

  2. Stefan says

    8 December 2019 at 1:15 pm

    Hahaha haios tare comentariul tau, Esti un tip de treaba . Multam pentru indicatii, i-am trimis un mail lui Marius, acum….astept sa vad dac are omul timp si chef de indicatii. Fir intins si tie… Ionut :)

    Reply
    • Alexandru Ionut says

      8 December 2019 at 1:21 pm

      Cu placere. L-am pus link-ul in primul comentariu, si ar trebuie sa vada asta daca verifica traficul. Dar am sa-i dau acum un mesaj sa-i spun sa verifice mail-ul si as iti raspunda cand prinde cateva minute libere. Are f multe priecte online si e cam nonstop in priza :D, dar gaseste el timp sa raspunda.

    • Alexandru Ionut says

      8 December 2019 at 2:26 pm

      Mi-a spus Marius ca e un plugin care permite incarcarea imaginilor in rubrica de comentarii. Nu are timp sa-ti raspunda la mail.
      Am gasit eu ceva https://www.youtube.com/watch?v=UGLj3gt65QU
      si mai uite-te si aici https://themeisle.com/blog/attach-comment-images-wordpress/

  3. Stefan says

    8 December 2019 at 1:02 pm

    Multumesc pt raspunsul rapid. Sunt alte site-uri atat din ro cat si din afara exact cu aceste functii active si nu se misca greu deloc.
    Pe un articol despre o anumita balta , pot sa ataseze pescarii poze sau nu.

    Reply
    • Alexandru Ionut says

      8 December 2019 at 1:13 pm

      Am inteles. Da, depinde ce plugin-uri au in spate acele site-uri de se misca rapid. In orice caz, intreaba-l pe Marius, ca se pricepe mult mai bine decat mine. Articolul asta l-am scris in 2012 cand eram pasionat de asta, si incepusem blogging-ul, dar anii au trecut, a aparut familia, copilul, si m-am lasat de “meserie”. Mai public cate un articol la cateva luni, dar sunt in urma cu cativa ani in lagatura cu ceea ce ma intrebi. Succes cu site-ul si fir intins :D
      ps: am fost si eu pasionat de pescuit acum multi ani, tata inca e innebunit dupa asa ceva. Cred ca ultima data am fost prin 2007 la balta. Nu-s batran, am 30, dar am mers pe alta drumuri :))

  4. Stefan says

    8 December 2019 at 12:34 pm

    Salut Ionut. Am si eu o intrebare;
    Cum trebuie procedat ca sa ai si optiunea de atasament foto in comentarii. De exemplu:
    Am fost pe balta asta si am prins un peste de 2 kg (si sa ai optiunea de a atasa foto/foto`s in comentariu) iar ca administrator sa ai drepturi de stergere foto daca incalca regulamentul?

    A tot cautat pe google si nu am gasit nimic :(

    Multumesc.

    Reply
    • Alexandru Ionut says

      8 December 2019 at 12:54 pm

      Salut. Depinde pe ce platforma e facut site-ul. O varianta mai simpla e sa incarci imaginea pe un site dedicat, iar apoi sa pui link in comentarii catre foto. Daca permiti incarcarea de foto direct pe site de catre oricine, la un moment dat se va ingreuna tare de tot pagina si se va incarca foarte incet. Nu cred ca-ti doresti asta. Pentru ce vrei tu, mai dedicat ar fi un fel de forum.
      Oricum, intreaba-l pe Marius (https://mariuscucu.ro/) ca se ocupa cu asa ceva si stie mult mai bine decat mine.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ultimele articole

  • Ce canale/vloggeri de calatorii urmaresc
  • Firma CNH Industrial angajeaza 300 de muncitori
  • Cat m-a costat asigurarea auto in Belgia pana in prezent
  • Cum ascundem afisarea pop-ului de volum si multimedia din Windows 10
  • Cum aflam ce componenta a pc-ului nu functioneaza corect
  • Belgia
  • Sustine blogul
  • Despre
  • Contact
  • Politică privind fișierele cookies
  • POLITICĂ CONFIDENȚIALITATE
  1. Stefan on Cat m-a costat asigurarea auto in Belgia pana in prezent1 August 2022

    Daca ar fi costat în Romania atât o asigurare...ar fi fost oarecum bine...nu mai vedeam toate cazanele pe șosele. Și…

  2. Lucian on Schimbarea permisului auto in Belgia5 July 2022

    Salut cine m poate ajuta și pe mn cu informați in legătura cu cardul tahograf in Belgia unde se poate…

  3. Alexandru Ionut on Schimbarea permisului auto in Belgia3 July 2022

    Salut. Cu permisul MD ai dreptul 185 zile in Belgia. Apoi trebuie schimbat. Mergi la primarie cu dovada ca ai…

  4. Eugeniu on Schimbarea permisului auto in Belgia3 July 2022

    Alexandru bună ziua, am si eu o întrebare, este posibil ca permisul MD să-l schimb pe unul Belgian și ce…

  5. Alexandru Ionut on Conditii de indeplinit pentru a conduce un scuter in Belgia27 June 2022

    Prea multe nu prea poti face. Insa, daca ai factura sau orice alta dovada ca e achizitionat legal de pe…

  • Belgia
  • Windows 10
    • Windows 7
  • Linux
  • Internet
  • Hardware
  • WordPress
  • Software
    • Android
    • Windows Phone
  • SEO
    • Blogging tips
  • Off topic
  • Auto

Arhiva

  • Belgia
  • Sustine blogul
  • Despre
  • Contact
  • Politică privind fișierele cookies
  • POLITICĂ CONFIDENȚIALITATE

Copyright © 2012 - 2022