WordPress User Feedback - ZuFusion

WordPress User Feedback

Thank you for purchasing my plugin. If you have any questions that are beyond the scope of this documentation, please feel free to email via my user page contact form here. Thanks so much!

1. Introduction

WordPress User Feedback plugin is a great tool to increase the interaction between users and your site.
This plugin empowers users to voice out their opinions to help site admin to improve site content magnificently.
The admin can create / edit / delete / approve / reject feedback.
Also, easy-to-use feedback features that help users manage their feedback easily.
Additionally, statistic widget helps promote the site by highlighting total views, total votes, and total feedback

Main features:

    Increase the interaction between users and your site by feedback and responses
    Allow users to manage their feedback and share permission
    Allow other users can edit the feedback
    Unlimited feedback for users
    Allow guest to post feedback to the site
    Allow Administrators to manage feedback
    Allow Administrators to manage statuses
    Allow Administrators to manage severities
    The Administrators can create / edit / delete / approve / reject feedback
    Allow automatically approve the feedback created by role
    View feedback detail and the response from admin
    Like comment, share, vote feedback
    Feedback view/download/vote counter
    Widgets: Top Viewed Feedback, Most Discussed Feedback, Statistic, Mot Voted Feedback, Categories, Feedback, Feedback search
    Many configurations in Admin Control Panel: Roles, Settings, Email, etc
    Searching and Sorting Option
    Email notification
    Support BuddyPress group
    Administrators can add feedback to users
    Secure feedback under login for each user
    Email editor to customize all emails
    WordPress capabilities and roles integration to limit who can do what
    Custom templates.
    Template type: Plugin or Theme
    Widget support
    Responsive layout
    Cross Browser (IE11+, Chrome, Safari, Firefox, Opera, Edge, CentBrowser)
    Translation Ready
    Documentation included

2. Installation

Download the zipped package from Codecanyon and extract to your desktop. Before processing the installation, you need to upgrade WordPress to WordPress 4.9 or later.
You can use FTP or WordPress to install

2.1 Using WordPress

    Log into your WP dashboard
    Go to Plugins > Add New > Upload
    Click Choose File .
    Navigate to find the "wordpress-user-feedback.zip" file in the extracted package.
    Click "Install Now" button.
    Click Active plugin to activate WordPress User Feedback

2.2 Using FTP

    Log into your site via FTP
    Find the "wordpress-user-feedback" folder in the extracted package. Then upload this folder to the wp-content/plugins folder in your WordPress directory on your server
    Log Into WordPress and go to Plugins > Installed Plugins. Find WordPress User Feedback in the list
    Active "WordPress User Feedback" plugins

3. Create category

Click on the Manage Feedback -> Categories menu item. You will see a welcome screen like this:

4. Create status

Click on the Manage Feedback -> Statuses menu item. You will see a welcome screen like this:

5. Create severity

Click on the Manage Feedback -> Severities menu item. You will see a welcome screen like this:

6. Manage feedback

After the users submitted the their feedback to your site, the feedback displayed all here to you review the their feedback.
Click on the Manage Feedback -> All Feedback menu item. You will see a welcome screen like this:
Here, Administrators can toggle Approved/Featured/Allow vote status for the feedback without going to edit the detail feedback.

6.1 Reject a feedback

If you want to reject a the feedback and send the email notification for reason reject to user, you edit the detail feedback then select reject in Privacy box.

6.2 Approve a feedback

After you reviewed a the feedback and you want to approved the feedback, you edit the detail feedback then select approved in Privacy box. An approved notification will be sent to user

6.3 Answer a feedback

If you want to answer a the feedback to user, you can view feedback detail or go to Manage Feedback -> All Feedback and click on Answer button
An answer box will be displayed here, now if you have any changes to answer message or status of feedback then an email notification will be sent to user

7. Users to manage their feedback

You need to create a My Feedback page to users can manage their feedback, Default the plugin will create this page automatically
In which the content of My Feedback page will includes the [wuf_my_feedback] shortcode to display manage feedback for user
With shortcode you can display anywhere. you can display them in a post/page like this
Finally, you need to set my feedback page for the plugin, Go to Manage Feedback -> Settings -> Feedback

7.1 All Feedback

All feedback of user will be displayed here, includes the both pending and approved feedback

7.2 Pending

All feedback which need to wait administrator review feedback

7.3 Approved

All feedback which approved by administrator will be displayed here

7.4 Create a feedback

You can allow users to create feedback as guest or require logged in, you can setting this in settings page. To create a new feedback you go to my feedback page at frontend.
Now click on Create Guest Feedback button or Click here to create new a feedback
You fill all required fields in feedback form then click on Submit button to submit the feedback to server, an email notification will be sent to administrators for reviewing the feedback .

7.5 Update a feedback

Go to My Feedback to find out any feedback you want to edit , click on Edit button.
Administrator can allow/disable the ability of Edit/Delete their own feedback in the settings page

8. Feedback Home Page

This page will list out all feedback created by all users, You need to create a Feedback page to display feedback, Default the plugin will create this page automatically
Now, you need to set Feedback page for the plugin, Go to Manage Feedback -> Settings -> Feedback
Set Feedback page such as
You can use [wuf_feedback] shortcode to display list feedback on any pages

9. Template type

The plugin allow you load template of plugin or your theme with template type is Plugin or Theme.
    Plugin: Load template base on the plugin
    Theme: Load template base on your theme
When you use Plugin it will load template base on the plugin, in this case, the layout structure will not be exactly the same as the layout of the theme
When you use Theme it will load template base on your theme to display but you need to set overwrite sidebar to replace with Feedback sidebar. of source, it only replace when you view list feedback or single feedback, ...

10. Roles

Go to Manage Feedback > Settings -> Roles.
The plugin use WordPress capabilities and roles integration to limit who can do what

11. Settings

Go to Manage Feedback > Settings. the plugin allows to configure feedback, roles, template, email, ...

12. The Plugin Template

12.1 Default Templates

The plugins allow use template for display layout, so you can custom template easily
You can see in the folder {root}/wp-content/plugins/wordpress-user-feedback/templates/

12.2 Custom Template

The plugin support overwrite, custom template from default template. You only create a wordpress-user-feedback in the root of activating theme. Copy the template of the plugin you need to custom to here and change what you want to

12.3 Hook template

The plugin use action hook to render template, here is some basic actions, you can view some template of the plugin to know more actions

12.3.1 Single template

1
<?php
2
get_header( 'feed' );
3
4
/**
5
* Hook: wuf_before_container.
6
*
7
*/
8
do_action( 'wuf_before_container' );
9
10
/**
11
* Hook: wuf_sidebar_left.
12
*
13
*/
14
do_action( 'wuf_sidebar_left' );
15
16
17
/**
18
* Hook: wuf_before_main_content.
19
*/
20
do_action( 'wuf_before_main_content' );
21
22
while ( have_posts() ) : the_post();
23
wuf_get_template( 'single/single' );
24
endwhile;
25
/**
26
* Hook: wuf_after_main_content.
27
*
28
*/
29
do_action( 'wuf_after_main_content' );
30
31
/**
32
* Hook: wuf_sidebar_right.
33
*
34
*/
35
do_action( 'wuf_sidebar_right' );
36
37
38
/**
39
* Hook: wuf_after_container.
40
*
41
*/
42
do_action( 'wuf_after_container' );
43
?>
44
45
<?php get_footer( 'feed' ); ?>
Copied!

12.3.2 Archive template

1
<?php
2
get_header( 'feed' );
3
4
/**
5
* Hook: wuf_before_container.
6
*
7
*/
8
do_action( 'wuf_before_container' );
9
10
/**
11
* Hook: wuf_sidebar_left.
12
*
13
*/
14
do_action( 'wuf_sidebar_left' );
15
16
/**
17
* Hook: wuf_before_main_content.
18
*/
19
do_action( 'wuf_before_main_content' );
20
21
if ( have_posts() ) {
22
23
/**
24
* Hook: wuf_before_feedback_loop.
25
*/
26
do_action( 'wuf_before_feedback_loop' );
27
28
wuf_feedback_loop_start();
29
30
if ( wuf_get_loop_prop( 'total' ) ) {
31
while ( have_posts() ) {
32
the_post();
33
do_action( 'wuf_feedback_in_loop' );
34
wuf_get_template_part( 'single/content', 'feedback' );
35
}
36
}
37
38
wuf_feedback_loop_end();
39
40
/**
41
* Hook: wuf_after_feedback_loop.
42
*/
43
do_action( 'wuf_after_feedback_loop' );
44
} else {
45
/**
46
* Hook: wuf_no_feedback_found.
47
*/
48
do_action( 'wuf_no_feedback_found' );
49
}
50
51
52
/**
53
* Hook: wuf_after_main_content.
54
*
55
*/
56
do_action( 'wuf_after_main_content' );
57
58
/**
59
* Hook: wuf_sidebar_right.
60
*
61
*/
62
do_action( 'wuf_sidebar_right' );
63
64
65
/**
66
* Hook: wuf_after_container.
67
*
68
*/
69
do_action( 'wuf_after_container' );
70
?>
71
72
<?php get_footer( 'feed' ); ?>
73
Copied!

13. Hooks: Actions and filters

Introduction: What are hooks?

Hooks in WordPress essentially allow you to change or add code without editing core files. They are used extensively throughout WordPress and WordPress User Feedback and are very useful for developers.
There are two types of hook: actions and filters.
    Action Hooks allow you to insert custom code at various points (wherever the hook is run).
    Filter Hooks allow you to manipulate and return a variable which it passes

Using hooks

If you use a hook to add or manipulate code, you can add your custom code in a variety of ways:

Using action hooks

To execute your own code, you hook in by using the action hook do_action('action_name');. Here is where to place your code:
1
add_action( 'action_name', 'your_function_name' );
2
3
function your_function_name() {
4
// Your code
5
}
Copied!

Using filter hooks

Filter hooks are called throughout are code using apply_filter( 'filter_name', $variable );. To manipulate the passed variable, you can do something like the following:
1
add_filter( 'filter_name', 'your_function_name' );
2
3
function your_function_name( $variable ) {
4
// Your code
5
return $variable;
6
}
Copied!
With filters, you must return a value.

14. Hooks: The plugin supported

The developer can use these hooks function to customize display, fields, build query, ....

Actions:

    do_action( 'wuf_before_container' )
    do_action( 'wuf_sidebar_left' )
    do_action( 'wuf_before_main_content' )
    do_action( 'wuf_before_feedback_loop' )
    do_action( 'wuf_feedback_in_loop' )
    do_action( 'wuf_after_feedback_loop' )
    do_action( 'wuf_no_feedback_found' )
    do_action( 'wuf_after_main_content' )
    do_action( 'wuf_sidebar_right' )
    do_action( 'wuf_after_container' )
    do_action('wuf_save_settings');
    do_action( 'wuf_query', $q, $this )
    do_action( "wuf_feedback_shortcode_before_{$this->type}_wrapper", $this->attributes );
    do_action( "wuf_feedback_shortcode_before_{$this->type}_loop", $this->attributes );
    do_action( 'wuf_feedback_before_loop' );
    do_action( 'wuf_feedback_after_loop' );
    do_action( "wuf_feedback_shortcode_after_{$this->type}_loop", $this->attributes );
    do_action( "wuf_feedback_shortcode_{$this->type}_loop_no_results", $this->attributes );
    do_action( "wuf_feedback_shortcode_after_{$this->type}_wrapper", $this->attributes );
    do_action( 'wuf_archive_main_header' );
    do_action( 'wuf_archive_description' );
    do_action( 'wuf_feedback_navigation' );
    do_action( 'wuf_feedback_content' );
    do_action( 'wuf_feedback_home_start' );
    do_action( 'wuf_feedback_home_end' );

Filters:

    apply_filters( 'wuf_default_options', $defaults )
    apply_filters('wuf_enable_theme_support', $is_template_plugin)
    apply_filters( 'wuf_get_template_part', $template, $slug, $name )
    apply_filters( 'wuf_template_path', 'wordpress-user-feedback/' )
    apply_filters( 'wuf_get_template', $file, $template )
    apply_filters( 'wuf_visited_url', $url )
    apply_filters( 'wuf_message_notice', $messagewrapstart . $message . $messagewrapend, $action, $message, $messagewrapstart, $messagewrapend )
    apply_filters( 'wuf_main_class', $class, $sidebar )
    apply_filters( 'wuf_sidebar_class', $class )
    apply_filters( 'wuf_sidebar_main', $wuf_settings->get_input_value( 'sidebar', 'sidebar' ) )
    apply_filters( 'wuf_sidebar_single', $wuf_settings->get_input_value( 'sidebar_single', 'sidebar' ) )
    apply_filters( 'wuf_sidebar_value', $sidebar, $sidebar_main, $sidebar_single )
    apply_filters( 'wuf_page_title', $page_title )
    apply_filters( 'wuf_is_feedback', wuf_is_feedback_post_type() || wuf_is_feedback_taxonomy() || wuf_is_single_feedback() || wuf_is_author_feedback())
    apply_filters( 'wuf_is_search', isset($_GET['wuf_search']) )
    apply_filters( 'wuf_get_' . $page . '_page_id', $page_id )
    apply_filters( 'wuf_feedback_loop_start', ob_get_clean() )
    apply_filters( 'wuf_feedback_loop_end', ob_get_clean() )
    apply_filters( 'post_class', $post_classes, $class, $feedback->get_id() )
    apply_filters( 'wuf_feedback_post_class', $classes, $feedback )
    apply_filters( 'wuf_loop_feedback_rows', $rows )
    apply_filters( 'wuf_loop_feedback_columns', $columns )
    apply_filters( 'wuf_get_' . $page . '_page_permalink', $permalink )
    apply_filters( 'wuf_get_endpoint_url', $url, $endpoint, $value, $permalink )
    apply_filters( 'wuf_sortby_options', $sor_options )
    apply_filters( 'wuf_range_date_options', $range_date_options )
    apply_filters( 'wuf_reject_feed_message', $mail_body, $feed['ID'] )
    apply_filters( 'wuf_approved_feed_message', $mail_body, $feed['ID'] )
    apply_filters( 'wuf_answer_feed_message', $mail_body, $feed['ID'] )
    apply_filters( 'wuf_admin_new_feed_message', $mail_body, $feed['ID'] )
    apply_filters( 'wuf_admin_update_feed_message', $mail_body, $feed['ID'] )
    apply_filters( 'wuf_get_query_vars', $this->query_vars )
    apply_filters( 'wuf_default_feedback_orderby', $wuf_settings->get_input_value( 'default_feedback_sortby', 'latest' ) )
    apply_filters( 'wuf_get_catalog_ordering_args', $args, $orderby, $order )
    apply_filters( 'wuf_feedback_query_meta_query', $meta_query, $this )
    apply_filters( 'wuf_feedback_query_tax_query', $tax_query, $this )
    apply_filters( 'wuf_feedback_query_comment_tax_query', $tax_query, $this )
    apply_filters( 'wuf_feedback_query_comment_tax_query', $tax_query, $this )
    apply_filters( 'wuf_default_range_date', $wuf_settings->get_input_value( 'default_range_date', 'all' ) )
    apply_filters( 'wuf_feedback_query_date_query', $date_query, $this )
    apply_filters( 'wuf_shortcode_feedback_query', $query_args, $this->attributes, $this->type )
    apply_filters( 'wuf_feedback_query_max_rand_cache_count', 5 )
    apply_filters( 'wuf_feedback_filters', $output )
    apply_filters( 'wuf_load_font_awesome', $wuf_settings->get_input_value( 'load_fontawesome', 'yes' ), $wuf, $wuf_settings )
    apply_filters( 'wuf_load_grid', $wuf_settings->get_input_value( 'load_bootstrap_grid', 'yes' ), $wuf, $wuf_settings )
    apply_filters( 'wuf_delete_redirect', wuf_get_page_permalink( 'my-feedback' ) )
    apply_filters( 'wuf_show_page_title', true )
    apply_filters( 'wuf_table_rows_per_page', 15 )

15. Credits & resources

    1.
    jQuery
    2.
    jQuery UI
    3.
    5.
    7.
    Select 2
Last modified 1yr ago