1Commentaire bulleCommentaires Jetpack style sans Jetpack

One of the best things about word­press is the built-in social aspect provided by com­ments. Get­ting your com­ment sec­tion right can be very import­ant to any web­site, includ­ing ours. Over the years we’ve exper­i­mented with vari­ous com­ment plu­gins includ­ing Dis­qus and more recently Jet­pack. How­ever, nous avons toujours fini par ramener les choses dans la maison pour la gestion, per­form­ance and pri­vacy reas­ons. When I moved back from Jet­pack com­ments I really missed some of the slick fea­tures provided by Jet­pack, both the social-net­work logins and the gen­er­al slick styl­ing. Any­way, to cut a long story short I finally had time today to take a good look at how word­press “does” com­ments and fig­ure out a way to build an in-house sys­tem which looks nice and slick like the com­ment inter­face provided by jet­pack. Best of all its sur­pris­ingly simple and does things the “prop­er” way…

Première - pour faire face à l'aspect «social», Je l'ai eu recours à un plugin appelé WordPress Social Connexion par MiledThere are sev­er­al “social login” plu­gins, mais cette version (contrairement aux autres) keeps everything totally in-house. It is a bit more work to con­fig­ure, mais pour le bénéfice à notre vie privée des visiteurs pour cette seule vaut bien la peine.

Ensuite a été de déterminer comment modifier la fonction intégrée dans le formulaire de commentaire wordpress (fun-Nily assez appelé comment_form()).  Je vais vous donner plus de détails plus tard si quelqu'un en fait la demande, pour l'instant juste trouver le rel-ev-fourmi code ci-dessous ...

comments.php (dans le dossier de thème)

[php]
<!– You can start edit­ing here. –>

<?php si ( comments_open() ) : ?>

<sec­tion id=“respond” class=“respond-form”>
<?php comment_form(); ?>

<scénario>
document.getElementById(‘hidden-form-area’).style.display = ‘none’;
func­tion myFunction()
{
document.getElementById(‘hidden-form-area’).style.display = ‘block’;
}
</scénario>

</section>

<?php endif; // si vous supprimez ce le ciel va nous tomber sur la tête?>
[/php]

functions.php (dans le dossier de thème)

[php]
func­tion my_fields($champs)
{
$champs[‘author’] = ‘<p class=“comment-form-author”><input type=“text” name=“author” id=“author” size=“22” tabindex=“1” placeholder=“Name (required)” /></p>»;
$champs[’email’] = ‘<p class=“comment-form-email”><input type=“text” name=“email” id=“email” size=“22” tabindex=“2” placeholder=“E‑mail (required — nev­er shared with any­one)” /></p>»;
$champs[‘url’] = ‘<p class=“comment-form-url”><input type=“text” name=“url” id=“url” size=“22” tabindex=“2” placeholder=“Website” /></p>»;
retourner les champs $;
}
add_filter(‘comment_form_default_fields’,‘my_fields’);

func­tion remove_notice($par défaut)
{
$par défaut[‘comment_notes_before’] = ”;
$par défaut[‘comment_notes_after’] = ”;
return $ par défaut;
}
add_filter( ‘comment_form_defaults’, ‘remove_notice’ );

func­tion remove_textarea($par défaut)
{
$par défaut[‘comment_field’] = ”;
return $ par défaut;
}
add_filter( ‘comment_form_defaults’, ‘remove_textarea’ );

func­tion add_textarea()
{
echo ‘<p class=“comment-form-comment”><textarea id=“comment” name=“comment” placeholder=“Enter your com­ment here…” onfocus=“myFunction()"></textarea></p><div id=“hidden-form-area”>»;
}
add_action( ‘comment_form_top’, ‘add_textarea’, 1 );

func­tion add_hideend()
{
echo ‘</div>»;
}
add_action( ‘comment_form_after’, ‘add_hideend’ );
[/php]

Leave a Reply

Un Commentaire