WordPress, FAQ, Assistance, Aide – Gérer des listes de FAQ sous WordPress



Dès lors que vous exploitez un site en ligne que ce soit un jeu, une application web ou même un site de e-commerce et vous rencontrez un succès relatif, vous serez immanquablement confronté(e) à la gestion des demandes d’utilisateur et à l’obligation de communiquer de la manière la plus fluide possible avec ces derniers.
C’est en gros toute la problématique que recouvre l’acronyme CRM (Customer Relashionship Management) ou en français la sacro-sainte Gestion de la Relation Client (GRC). La plupart du temps, cela donne naissance à un monstre éditorial nommé FAQ (Frequently Asked Questions), traduit en français par Foire Aux Questions. Cela nécessite de gérer une information pertinente, utile et plus ou moins à jour. C’est la problématique que l’on va voir dans cet article.

Dans la gestion de ce problème de communication, deux remarques s’imposent :

  1. Si vous êtes sur un mode gratuit, la gestion des angoisses de vos utilisateurs peut-être plus souple après tout vous n’êtes en rien lié commercialement avec vos utilisateurs. Le revers de la médaille, c’est que de jouer à cache à cache avec vos utilisateurs, vous risquez de ruiner la réputation de votre site, votre “e-reputation” (réputation sur le web) est en jeu… Et çà c’est grave
  2. L’autre écueil est que très souvent la page de FAQ est aussi sexy sur un site qu’un rond-point en construction aux abords d’une bretelle d’autoroute, un jour de crachin. Ainsi donc votre FAQ a toutes les chances d’être consciencieusement évitée par vos utilisateurs. C’est pour cette raison que très souvent en lieu et place d’une pauvre page de FAQ, on enrobe le tout au tour d’un blog, histoire d’humaniser un peu la relation client ! Avec plus ou moins de réussite là aussi.

Fort de ces deux remarques, on va donc voir comment sous WordPress (votre outil de blog favori), on peut tout de même gérer des FAQs de manière un peu rationnel et “user-friendly”. On a retenu deux plugins plutôt bien conçus qui permettent un bonne gestion des FAQ notamment à l’aide de post_type qui permet d’isoler les FAQs des articles et des pages sous WP.

Ce test a été mené sur la version de WordPress Version 3.2.1 en Français et sur le thème natif nommé wp-content/themes/twentyeleven.

1. Le plugin FAQ Manager

Un bon plugin pour la gestion des FAQs qui vous donne de bonnes options pour personnaliser votre jeu de questions/réponses. Les FAQs sont gérées dans un post_type et vous pouvez les ordonner à votre guise.

Liste des FAQs
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

Ajouter une FAQ
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

Les mots-clés de vos FAQs
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

Ajouter un mot-clé à vos FAQs
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

Ordonner vos FAQs
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

Les paramètres généraux de vos FAQs
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

Les shortcodes du plugin pour insérer vos FAQs
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

2. Le plugin Q and A – FAQ Plugin

Un plugin plus sommaire quele precédent pour la gestion des FAQs, un peu moins d’options pour personnaliser votre jeu de questions/réponses. Les FAQs sont elles aussi gérées dans un post_type.

Liste des FAQs
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

Ajouter une FAQ
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

Ajouter une catégorie à vos FAQs
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

Ordonner vos FAQs
ordpress, FAQ, Assistance, Aide - Gérer des listes de FAQ sous WordPress

Le plugin maison

Ce plugin a été développé pour permettre une gestion plus proche de ce que nous souhaitions pour le gestion des FAQs sur le site 3WDOC.com qui distribue le 3WDOC Studio, une application web polyvalente spécialement conçue pour créer et diffuser en HTML5 des contenus rich media & interactifs optimisés pour le web.

L’insertion des shortcodes et les paramètres à passer. Le paramètre faq_id est l’id de la FAQ, le paramètre faq_no_link permet de créer un lien automatiquement vers le post_type (valeur égale à 0 pas de lien, valeur égale à 1 le lien s’exprime)

[faq_catalogue faq_id="4638" faq_no_link="0"] [faq_catalogue faq_id="4640" faq_no_link="0"] [faq_catalogue faq_id="4642" faq_no_link="1"] [faq_catalogue faq_id="4773" faq_no_link="0"] [faq_catalogue faq_id="4778" faq_no_link="0"] [faq_catalogue faq_id="4783" faq_no_link="0"] [faq_catalogue faq_id="4788" faq_no_link="0"] [faq_catalogue faq_id="4792" faq_no_link="0"] [faq_catalogue faq_id="1904" faq_no_link="0"]

Le code source du plugin he3faqmanagement.php

 
	/*
	Plugin Name: he3FaqManagement
	Plugin URI: http://www.hemotion.eu
	Description: implements a FAQ management like for 3WDOC.com in WP
	Version: 1.0.0_19042011
	Author: bruno@hecube.net
	Author URI: http://www.hemotion.eu
	License: GPLv2
 
		Copyright (c) 2011 hecube.net (http://hecube.net)
		he3FaqManagement is released under the GNU General Public License (GPL)
		http://www.gnu.org/licenses/gpl-2.0.txt
 
 
 
	*/
 
			/* TRANSLATION */
			/* load the translation if different from english */
			load_plugin_textdomain( 'he3faqmanagement', false, dirname(plugin_basename( __FILE__ )).'/languages/');
 
			// flush permalinks on plugin initalization ****thanks to Austin Passay @TheFrosty for the help****
 
			/* NOT IN USE, IT SUCKS */
			/*
			function he3_faq_collection_flush_rewrite_rules() {
				global $pagenow, $wp_rewrite;
				if ('plugins.php' == $pagenow && isset( $_GET['activate'] ) )
					$wp_rewrite->flush_rules();
			}
			add_action('load-plugins.php', 'faq_flush_rewrite_rules' );
			*/
 
			/* // POST_TYPE */
 
			/* Set up the post types. */
			add_action( 'init', 'he3_faq_collection_register_post_types' );
 
			/* Registers post types. */
			function he3_faq_collection_register_post_types() {
 
				$menu_icon_url = plugin_dir_url( __FILE__ ).'/images/he3_faq_icon.png';
 
			    /* Set up the arguments for the 'faq_catalogue' post type. */
			    $faq_catalogue_args = array(
			        'query_var' => 'faq_catalogue',
			        'public' => true,
					'exclude_from_search'=> true,
					'show_ui' => true,
					'_builtin' => false,
					'capability_type' => 'post',
					'hierarchical' => false,
					'show_tagcloud' => true,
					'menu_icon' => ''.$menu_icon_url.'',
					/* important */
			        'rewrite' => array(
						'slug' => 'api-3wdoc-faq',
			            'with_front' => false,
			        ),
			        'supports' => array(
									'title',
								    'editor',
								    'comments',
								    'trackbacks',
								    'revisions',
								    'author',
								    'excerpt',
								    'thumbnail',
								    'custom-fields',
								    'page-attributes'
			        ),
			        'labels' => array(
			            'name' => 'FAQs',
			            'singular_name' => 'FAQ',
			            'add_new' => ''.__('Add New FAQ', 'he3faqmanagement').'',
			            'add_new_item' => ''.__('Add New FAQ', 'he3faqmanagement').'',
			            'edit_item' => ''.__('Edit FAQ', 'he3faqmanagement').'',
			            'new_item' => ''.__('New FAQ', 'he3faqmanagement').'',
			            'view_item' => ''.__('View FAQ', 'he3faqmanagement').'',
			            'search_items' => ''.__('Search FAQ', 'he3faqmanagement').'',
			            'not_found' => ''.__('No FAQ Found', 'he3faqmanagement').'',
			            'not_found_in_trash' => ''.__('No FAQ Found In Trash', 'he3faqmanagement').''
			        ),
			    );
 
			    /* Register the  faq catalogue post type. */
			    register_post_type( 'faq_catalogue', $faq_catalogue_args );
 
			} //EOF
			/* POST_TYPE // */
 
			/* // SHORTCODE */
			add_action( 'init', 'he3_faq_collection_register_shortcodes' );
 
				function he3_faq_collection_register_shortcodes() {
 
			    	/* Register the [faq_catalogue] shortcode. */
			    	add_shortcode( 'faq_catalogue', 'he3_faq_collection_shortcode' );
				}//EOF
 
			function he3_faq_collection_shortcode ($atts, $content = NULL) {
 
				extract(shortcode_atts(array(
					'faq_id'			=> '',
					'faq_no_link'		=> '',
				), $atts));
 
						$wp_query = new WP_Query(array(
							'post_type' 		=> 'faq_catalogue',
				            'orderby' 			=> 'date',
				            'order' 			=> 'DESC',
				            'posts_per_page' 	=> -1,
							'post__in' => array($faq_id)
							));
 
 
 
 
							while ($wp_query->have_posts()) : $wp_query->the_post();
							global $post;
 
								$id=$post->ID;
								$faqcontent= get_the_excerpt();
								/* If 0 no read more link if 1 the read more link will be shown */
								$faq_no_link[$id];
 
								$displayfaq .= '<div class="single_faq"><!-- '.$id.' -->';
								// $displayfaq .= '<a href="#" class="faq_question click">'.get_the_title().'</a>';
								$displayfaq .= '<span class="faq_question click">'.get_the_title().'</span>';
 
								$displayfaq .= '<span class="faq_answer">';
								$displayfaq .= ''.wpautop($faqcontent, true).'';
 
 
								if($faq_no_link == 0) {
									$displayfaq .= '';
								} else {
									$displayfaq .= '<br><div class="more"><a href="' . get_permalink() . '">'.__('Read more', WPGROUPLANG).'</a></div><br>';
								}
 
 
 
								$displayfaq .= '</span>';
								$displayfaq .= '</div>';
 
 
 
							endwhile;
							wp_reset_query();
 
 
					return $displayfaq;
 
				}//EOF
			/* SHORTCODE // */
 
			/* JS */
			function he3_faq_collection_load_scripts() {
			// Optional setting for loading jQuery collapse
				if( !is_admin()) {
					wp_enqueue_script('jcollapse', plugins_url('js/faq-collapse.js', __FILE__) , array('jquery'), '1.0' );
					}
			}
			add_action('wp_print_scripts', 'he3_faq_collection_load_scripts');
 
			/* CSS */
			function he3_faq_collection_faq_css() {
			// Optional setting for loading CSS
				if( !is_admin()) {
					wp_enqueue_style('faq_style', plugins_url('css/faq-default.css', __FILE__) ) ;
				    }
			}
			add_action( 'wp_print_styles', 'he3_faq_collection_faq_css' );

En savoir plus