Sergio Pinna

Web Designer

disqus-senza-plugin

Come inserire Disqus in WordPress senza plugin

Disqus è una delle piattaforme di commenti social più utilizzate al mondo. E’ molto semplice da usare e permette il suo utilizzo anche mediante il login dei più blasonati social network, per eseguire commenti ti puoi collegare con Facebook, Google+, ecc.ecc.

Per essere implementato esiste un plugin, il Disqus Comment System, ma personalmente ho testo essere molto intrusivo. Ho provato a renderlo più performante mediante la tecnica descritta in Cancellare le richieste inutili al server e in L’identificativo di un file registrato in wordpress.

Dopo molti tentativi non andati a segno (sic!) ed essendo un plugin dunque anti-performance ho deciso di optare per la sua implementazione mediante una funzione PHP.

Ho reso lo script consigliato da Disqus stesso per la sua implementazione generica, il più friendly wordpress possibile tenendo salda la performance.

1. Iscriviti a Disqus

Val sito di Disqus ed effettua l’iscrizione.

2. Disattiva i commenti

Nel file single.php e/o nel file page.php cercare il codice:

<?php comments_template(); ?>

e sostituitelo con:

<?php // comments_template(); ?>

3. Aggiungi la funzione

Nel file functions.php aggiungi la funzione:

function script_add_to_footer() {
	printf ('
		
		
	');
}
add_action( 'wp_footer', 'script_add_to_footer' );

Nota bene:

  • dove c’è scritto DOMINIODELTUOSITO, sostituiscilo con quello del tuo dominio senza estensione; nel mio caso è semplicemente sergiopinna senza il .it;
  • per chiamare Disqus solamente ove necessario al fine di non peggiorare la performance del sito, potresti usare un tag condizionale. Per esempio, vuoi avere i commenti di Disqus solamente negli articoli? Ecco la funzione che fa per te:
    function script_add_to_footer() {
    	if ( is_single() ) {
    		printf ('
    			<script>
    			    /**
    			     *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
    			     *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables
    			     */
    			    
    			    var disqus_config = function () {
    			        this.page.url = "' . get_permalink() . '";		// Replace PAGE_URL with your page\'s canonical URL variable
    			        this.page.identifier = "post-' . get_the_ID() . '";	// Replace PAGE_IDENTIFIER with your page\'s unique identifier variable
    			        this.page.title = "' . get_the_title() . '";		// a unique title for each page where Disqus is present
    			    };
    			    
    			    (function() {  // DON\'T EDIT BELOW THIS LINE
    			        var d = document, s = d.createElement(\'script\');
    			        
    			        s.src = \'//DOMINIODELTUOSITO.disqus.com/embed.js\';
    			        
    			        s.setAttribute(\'data-timestamp\', +new Date());
    			        (d.head || d.body).appendChild(s);
    			    })();
    			</script>
    			<script id="dsq-count-scr" src="//DOMINIODELTUOSITO.disqus.com/count.js"></script>
    		');
    	}
    }
    add_action( 'wp_footer', 'script_add_to_footer' );

4. Aggiungi il codice HTML

Nel file single.php aggiungi:

Fonte:
Disqus Comment System
Disqus

Condividi questo articolo