FAQ Revolution

Documentation for v1.03 and later


Introduction

Before going through documentation chapters, thanks for purchasing FAQ Revolution and trusting LCweb!

Need further help?

Open a ticket

Need a customization?

Ask for a quote

Installation

This documentation has been made to guide you step-by-step in the exact order you should setup the plugin.

Settings Overview

The very first thing to do when plugin is installed for the first time is to check settings.
Each field has got its related legend, then you shouldn't need any specific guide.

However there are few notes that have to be done to avoid troubles:

FAQs search page

This option defines which page you are gonna use to place the main FAQ search system (check shortcode section to know more).
Deeplinks will be set and read only on this page.

"no result", "solution", "user action" texts

These fields can also contain complex data (iframes, HTML & Javascript) as well as execute shortcodes

Rating system

Votes are stored in browser cookies to avoid multiple votes on the same FAQ. However changing browser visitors can inevitably bypass this limit.

Permalinks

Obviously you must not have another URL correspondance connected with chosen values.

By default your site permalink are flushed each time plugin settings are saved.
If you are facing troubles just go in WP settings > Permalinks and just save again.

Use only first-level subjects?

This option will change the deeplink structure.
Then be careful to not use a deeplinked URL as direct link and then change this option

Knowledge-base

This system is detached from FAQ's one, but articles can be attached to each FAQ's answer to give a better user experience and ideally teach visitors about a specific subject.

Articles could also be a great way to increase website's SEO score since they should have highly targeted contents.
Article tags can be shown at the end of article contents, giving access to archives.

FAQ Subjects

Before creating FAQs you have to define their subjects:

  • First-level subjects can have an image attached
  • Child subjects are optional and are meant to refine FAQs search
  • Subjects can be also temporary disabled: in subjects list the first column (red arrow in the above image) represents the status.
    Green circle means subject is enabled, while red circle is for disabled ones.

  • Subject slugs are used in deeplinks

FAQ Builder

Clicking on "Manage FAQs" you can create your first FAQ.
The very first thing to do is decide whether FAQ has to be basic or choice-based.


Basic (text-only)

It's the standard FAQ format: question and answer.
Contens can also contain complex elements such as HTML and shortcodes.

Is possible to have a photogallery as well as a "related articles" section containing knowledge-base and external links.


Choice-based

Here you can define a true choices tree helping users step-by-step.
Ideally you have to shape the tree basing on the question-to-multi-option principle.

Everything starts with an initial question: while prior FAQ text is optional, you must have at least two answers.
Each answer has also got a consequence when selected:

Text as end

Uses choice's text to end FAQ's flow

Default solution

Uses the "default solution" text to end the FAQ flow (it is defined in settings).
It's ideally meant to show a positive answer to the user (eg. you problem should be solved)

Default user action

Uses the "default user action" text to end the FAQ flow (it is defined in settings).
It's ideally meant to query user to make a custom action in order to solvea problem (eg. your case needs to be inspected, open a ticket)

New Question

You've got to pose a new question to the user, in order to better understand the situation

Each answer may have associated knowledge-base articles, external links and images.
You can use HTML as well as shortcodes within choices description.


Common Systems

FAQ Order

Normally FAQs are sorted by title (A to Z), however you can set a custom order by using numbers.
Is suggested to use pretty big increases (10/20/30) to avoid troubles if you want to place a new FAQ between two existing ones.

Search Helper

This is probably the most important parameter after the title: is used in the search algorithm and helps users finding the right FAQ.

Use frequently-used and semantic words. Use anything you prefer to split words: any extra character will be removed on frontend.

FAQ Search Shortcode

FAQ Revolution is also natively integrated with WordPress Block Editor (Gutenberg), Elementor and Visual Composer.
Using them you can skip the standard shortcode wizard and use the related plugin's tool.

For any other builder or using the old WordPress editor:

In any WordPress editor you can see the plugin's icon triggering the shortcode wizard.
Here's fields explaination:

Predefined subject

Forces a default subject for the search system. User will still be able to choose eventual child subjects

Predefined child subject

Forces a default child subject for the search system

Show FAQs only filling searchbar?

Enabling this option no FAQ will be listed until user will fill the search bar

Shortcode demo with all possible parameters:

[faq-revo-searchbar subj="5" sub_subj="1" req_src="1"]

Public API

The plugin comes with a couple of handy PHP functions that can be used globally on your website.
Be sure to run them after custom post types have been registered!


Retrieves FAQs related to one or more subjects ID

@param (int|array) $subj_id single subject term ID or an array of term IDs
@param (array) $custom_args custom WP_query parameters to customize the query (optional)
@return (array) an array containing matched FAQs array(faq_id => faq_data)

Example fetching FAQs related to subject ID #5:

<?php
$faqs = fr_get_faqs(5, array());
			
if(!empty($faqs)) {
	foreach($faqs as $faq_id => $faq_data) {
		// $faq_data is a WP post object
	}
}
else {
	// no FAQs found
}
?>

Searches FAQs specifying a subject ID and a text string

(Search is performed in titles + main text + search helper - minimum string length = 3 characters)
@param (int|array) $subj_id single subject term ID or an array of term IDs
@param (string) $search_txt string used to match FAQs
@param (array) $custom_args custom WP_query parameters to customize the query (optional)
@return (array) (array) an array containing matched FAQs array(faq_id => faq_data)

Example fetching FAQs related to subject ID #5 and matching the "test" word:

<?php
$faqs = fr_search_faqs(5, 'test', $custom_args = array())
                
if(!empty($faqs)) {
	foreach($faqs as $faq_id => $faq_data) {
		// $faq_data is a WP post object
	}
}
else {
	// no FAQs found
}
?>

Multilanguage

The plugin is 100% multilanguage for both front and back ends. If a translation of your language has been created, WordPress will automatically switch between languages.
Plus it is compatible with WPML and Polylang!

How to create a translation

If you have WPML + String Translation add-on or Polylang, you can simply scan the plugin and translate strings via its UI.

Otherwise: go in the plugin folder, then open the one named "languages".
Inside you'll find the default.pot file. It contains english strings to be translated.

If you want to create or customize one your language translation, follow these steps:

  1. Open the default.pot file with POedit
  2. Edit the catalog by inserting your data and setting translation's language
  3. Save the file with your language's i18n identifier and "fr_ml-" prefix (the italian example is fr_ml-it_IT)
  4. Go to plugin's folder ".. wp-content/plugins/faq_revo/languages" and paste resulting .PO and .MO files

To translate dynamic strings set in settings you must pass through the WPML string translation add-on or Polylang.

If you create new translations, please contact me at support@lcweb.it sending your .PO and .MO files.
Otherwise they will be lost in next updates. Thanks!

LCweb - Copyright © 2019 - All Rights Reserved