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)

<!-- You can start editing here. -->

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

<section id="respond" class="respond-form">
<?php comment_form(); ?>

<script>
document.getElementById('hidden-form-area').style.display = 'none';
function myFunction()
{
document.getElementById('hidden-form-area').style.display = 'block';
}
</script>

</section>

<?php endif; // if you delete this the sky will fall on your head ?>

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

function my_fields($fields)
{
    $fields['author'] = '<p class="comment-form-author"><input type="text" name="author" id="author" size="22" tabindex="1" placeholder="Name (required)" /></p>';
    $fields['email'] = '<p class="comment-form-email"><input type="text" name="email" id="email" size="22" tabindex="2" placeholder="E-mail (required - never shared with anyone)" /></p>';
    $fields['url'] = '<p class="comment-form-url"><input type="text" name="url" id="url" size="22" tabindex="2" placeholder="Website" /></p>';
    return $fields;
}
add_filter('comment_form_default_fields','my_fields');

function remove_notice($defaults)
{
    $defaults['comment_notes_before'] = '';
    $defaults['comment_notes_after'] = '';
    return $defaults;
}
add_filter( 'comment_form_defaults', 'remove_notice' );

function remove_textarea($defaults)
{
    $defaults['comment_field'] = '';
    return $defaults;
}
add_filter( 'comment_form_defaults', 'remove_textarea' );

function add_textarea()
{
    echo '<p class="comment-form-comment"><textarea id="comment" name="comment" placeholder="Enter your comment here..." onfocus="myFunction()"></textarea></p><div id="hidden-form-area">';
}
add_action( 'comment_form_top', 'add_textarea', 1 );

function add_hideend()
{
    echo '</div>';
}
add_action( 'comment_form_after', 'add_hideend' );

Vous avez quelques idées de votre propre? Laissez-vous tenter par des commentaires ci-dessous! Si vous souhaitez vous abonner s'il vous plaît utiliser le lien d'abonnement dans le menu en haut à droite. Vous pouvez également partager avec vos amis en utilisant les liens sociaux ci-dessous. À votre santé.

Laisser un commentaire

Un Commentaire