Les commentaires Wordpress en tant qu'objectif Google Analytics

Olivier Duffez (admin)
Membre du personnel
Sauriez-vous m'aider pour définir comme objectif Google Analytics la validation d'un commentaire posté dans un blog Wordpress ?
En gros, j'ai besoin de savoir quel code faire (un hack dans functions.php je suppose) pour modifier dynamiquement le marqueur de Google Analytics au moment de l'approbation d'un commentaire (que cette approbation se fasse automatiquement si le blog est paramétré comme ça, ou manuellement).

Merci d'avance !
(en fait ma question est surtout du développement Wordpress)
 
WRInaute passionné
une solution possible (uniquement dans le cas de commentaires modérés) serait d'inclure une page de confirmation lors de la validation d'un commentaire par l'admin, il suffirait alors de définir cette page comme objectif dans GG Analytics ?
je pense qu'il faut voir ça au niveau de wp-admin/comment.php et jouer sur $redir :


$redir est défini ici, lignes 218-227:
Code:
if ( '' != wp_get_referer() && ! $noredir && false === strpos(wp_get_referer(), 'comment.php') )
		$redir = wp_get_referer();
	elseif ( '' != wp_get_original_referer() && ! $noredir )
		$redir = wp_get_original_referer();
	elseif ( in_array( $action, array( 'approvecomment', 'unapprovecomment' ) ) )
		$redir = admin_url('edit-comments.php?p=' . absint( $comment->comment_post_ID ) );
	else
		$redir = admin_url('edit-comments.php');

	$redir = remove_query_arg( array('spammed', 'unspammed', 'trashed', 'untrashed', 'deleted', 'ids', 'approved', 'unapproved'), $redir );



$redir est utilisé ici, lignes 250-264:
Code:
		case 'approvecomment' :
			wp_set_comment_status( $comment_id, 'approve' );
			$redir = add_query_arg( array( 'approved' => 1 ), $redir );
			break;
		case 'unapprovecomment' :
			wp_set_comment_status( $comment_id, 'hold' );
			$redir = add_query_arg( array( 'unapproved' => 1 ), $redir );
			break;
	}

	wp_redirect( $redir );
	die;
	break;
 
Olivier Duffez (admin)
Membre du personnel
merci mais en fait je ne veux pas toucher au code de Wordpress (car c'est mal !)
je cherche donc un hack de functions.php
 
WRInaute impliqué
en fait y'a plus simple:

trouver dans son thème le fichier comments.php et ajouter une instruction de tracking sur le bouton submit:

Code:
onclick="javascript:_gaq.push(['_trackPageview','/goal/wordpress.html']);"

Définissez l'URL '/goal/wordpress.html' comme objectif et vogue la galère

Chez moi ca donne çà:

Code:
<input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" onclick="javascript:_gaq.push(['_trackPageview','/goal/wordpress.html']);"/>

Des questions?
 
Olivier Duffez (admin)
Membre du personnel
Merci Julien !

Pour être vraiment complet il faudrait trouver la façon de compter le nb de commentaires approuvés, pas seulement déposés. Car avec cette méthode on va compter les tonnes de commentaires laissés par les spammeurs.
 
WRInaute impliqué
WebRankInfo a dit:
Merci Julien !

Pour être vraiment complet il faudrait trouver la façon de compter le nb de commentaires approuvés, pas seulement déposés. Car avec cette méthode on va compter les tonnes de commentaires laissés par les spammeurs.

dans ce cas, hors modification de l'admin, point de salut mais allez quand même voir dans /wp-admin/edit-comments.php

de plus, on a le cas où on modère en masse les commentaires et là pas moyen de mesurer finement.
 
Olivier Duffez (admin)
Membre du personnel
en effet ça se passe dans l'admin
je ne veux compter que le nb de commentaires approuvés, la modération en masse concerne en général la suppression du spam, non ?

je vais continuer de chercher, il doit y avoir un hack wordpress à faire
 
WRInaute impliqué
WebRankInfo a dit:
en effet ça se passe dans l'admin
je ne veux compter que le nb de commentaires approuvés, la modération en masse concerne en général la suppression du spam, non ?

je vais continuer de chercher, il doit y avoir un hack wordpress à faire

pas forcément. Imagine 40 Kevins qui viennent donner leur grain de sel sur un sujet. Si ca se trouve ils sont pertinents mais tu as quand même envie de les modérer (allez, avoue! :))
 
Olivier Duffez (admin)
Membre du personnel
Merci Rahir mais d'une part Julien avait effectivement donné le truc, et d'autre part ça ne répond pas à ma question qui est : comment mesurer le nb de commentaires approuvés.

Alors, qui va me trouver ça ? :)
 
WRInaute impliqué
Allez j'ai besoin d'un break dans mes rapports:

Dans votre install Wordpress, éditez /wp-admin/includes/template.php

Cherchez:
Code:
$actions['approve'] = "<a href='$approve_url'

Remplacez par:
Code:
$actions['approve'] = "<a href='$approve_url' 
onClick='javascript:_gaq.push([\"_trackPageview\",\"/goal/approuve.html\"]);'

Définissez l'URL '/goal/approuve.html' comme URL de succès d'un objectif 'Commentaires approuvé'

Attention, rappelez vous que comme pour mon truc ci dessus, un objectif de même type n'est compté qu'une fois par visite dans GA donc si plusieurs commentaires postés ou approuvés dans une même visite, GA n'en comptera qu'un seul.

Vous pouvez donc passer par un évènement:

Cherchez:
Code:
$actions['approve'] = "<a href='$approve_url'

Remplacez par:
Code:
$actions['approve'] = "<a href='$approve_url' 
onClick='javascript:_gaq.push([\'_trackEvent\',\'Commentaires\',\'Approuvé\']);'

Et je vous le donne en mille:

Cherchez:
Code:
$actions['unapprove'] = "<a href='$unapprove_url'

Remplacez par:
Code:
$actions['unapprove'] = "<a href='$unapprove_url' 
onClick='javascript:_gaq.push([\"_trackEvent\",\"Commentaires\",\"Refusé\"]);'

Et pour ceux qui veulent gérer çà en live depuis le tableau de bord WP, modifiez /wp-admin/includes/dashboard.php:

Cherchez:
Code:
__( 'Approve this comment' ) . "'>"

Remplacez par:
Code:
__( 'Approve this comment' ) . "' onClick='javascript:_gaq.push([\"_trackEvent\",\"Commentaires\",\"Approuvé\"]);'>"

Cherchez:
Code:
__( 'Unapprove this comment' ) . "'>"

Remplacez par:
Code:
__( 'Unapprove this comment' ) . "' onClick='javascript:_gaq.push([\"_trackEvent\",\"Commentaires\",\"Refusé\"]);'>"

ATTENTION: cette modification peut et sera probablement écrasée à la prochaine MAJ de Wordpress. Vous devrez refaire cette manip.

Bien sur cette manip ne marche que si vous avez installé votre code de suivi GA dans /wp-admin/admin-header.php

Il vous en prie ;-)

EDIT: problème d'échappement et rajout du préfixe javascript: pour être tranquille
 
WRInaute discret
Ce n'est pas idéal alors cette manipulation, si c'est pour refaire à chaque mise à jour.

Il vaut mieux trouver un hack comme dit Olivier, et non pas bidouiller dans les codes. Olivier, j'ai trouvé un petit article concernant le hack, il parle de la création d'une fonction (Comment_Count) pour les commentaires approuvés, peut-être ça va t'aider à ce que tu recherches:

Lien: Hack WordPress : Afficher le nombre d’articles, de commentaires et de rétroliens

:wink:
 
WRInaute impliqué
sauf que (et corrigez moi si je me trompe) functions.php ne fonctionne qu'à l'intérieur d'un thème et pas de l'admin

à mon sens pas d'autre moyen :-(
 
WRInaute discret
JulienCoquet a dit:
sauf que (et corrigez moi si je me trompe) functions.php ne fonctionne qu'à l'intérieur d'un thème et pas de l'admin

à mon sens pas d'autre moyen :-(

Après vérification, je te confirme le fichier functions.php est bien dans le dossier wp-content/themes/nom-du-theme.

:wink:
 
WRInaute impliqué
petit up pour WP v3.x : la modif pour le tracking des commentaires se fait sur /wp-includes/comment-template.php sauf si vous utilisez votre propre template dans votre thème pour les commentaires.
 
Discussions similaires
Haut