(0)

Frequently Asked Questions

On this page, you’ll find the most common questions about Awesome Support.

Please checkout the FAQ below before contacting us or submitting a support request.

General

Is it compatible with WPML?

Yes, it is – with some conditions.  You might have to configure WPML to ignore the TICKET post type.

In some earlier versions we did not support WPML.  If you’re a developer, you can read more about our support and resolution of this on this Github issue.

Is the price of the startup bundle one time payment?

No it’s not a one time payment. You have to renew every year if you want to keep the plugins updated (compatibility and security fixes).

Renewal is 10% cheaper :)

Can Existing Users Submit Tickets?

If you just installed Awesome Support on a WordPress site that already has registered users, those users don’t need to create a new account. However, there are a few things to adjust in order to give them the capabilities to open tickets.

Typically, an existing user trying to submit a ticket will get an error message saying “You do not have the capacity to open a new ticket”. This is quite easy to fix. Please see Users get “You do not have the capacity to open a new ticket” for more information.

Is it possible to network activate this plugin?

Awesome Support does work out of the box with WordPress Multisite, but you have to manually activate the plugin for each site.

Submit ticket without login

Yes, you can submit a ticket without logging into the support system using our guest tickets add-on.  With this add-on new users can submit a ticket without creating an account.  Existing users will be required to log in.

Alternatively, you can use our EMAIL SUPPORT add-on to allow users to simply email you a ticket.  You can read more about this feature here.


Troubleshooting

Missing Tabs or Menu Options After Version 4.0 Upgrade

This happens because new WordPress security capabilities were introduced in version 4.0.0.  If you are using roles that are not standard Awesome Support roles then you might need to modify them to include the additional capabilities:

Here are the new capabilities that were added to Awesome Support 4.0:

For admins and similar users:

  • ‘view_all_tickets’  (Set this only if you want a non-admin user to see all tickets in the ticket list.  This overrides the settings in TICKETS->SETTINGS->ADVANCED)
  • ‘view_unassigned_tickets’  (This only applies if you are using the EMAIL SUPPORT add-on. Grant this to agents or admins or any role that needs to view and manage unassigned tickets)
  • ‘manage_licenses_for_awesome_support’
  • ‘administer_awesome_support’

For agents:

  • ‘ticket_manage_tags’
  • ‘ticket_edit_tags’
  • ‘ticket_delete_tags’
  • ‘ticket_manage_products’
  • ‘ticket_edit_products’
  • ‘ticket_delete_products’
  • ‘ticket_manage_departments’
  • ‘ticket_edit_departments’
  • ‘ticket_delete_departments’
  • ‘ticket_manage_priorities’
  • ‘ticket_edit_priorities’
  • ‘ticket_delete_priorities’
  • ‘ticket_manage_channels’
  • ‘ticket_edit_channels’
  • ‘ticket_delete_channels’

You can use a plugin like User Role Editor to assign these new capabilities to your custom roles.

If you are NOT using custom roles and you still have an issue then try the following:

  • Deactivate and Reactivate the plugin
  • Go to TICKETS->TOOLS->CLEANUP and click the button next to the item labelled: Re-run conversion from 3.3.x to 4.0.0

 

PHP Fatal error: Can’t use function return value in write context

You will see this error in your error.log file if the WordPress debug flags are turned on.  This is because you are using a PHP version earlier than 5.6.30.  The minimum php version we support is 5.6.30.

Clicking An Attachment Results In A White Screen (Or A Message Indicating The File Is Corrupt)

This issue is commonly seen by users who run their own servers or VMs.  The easiest fix is to place an entry in your hosts file (linux: etc/host) pointing your domain to the local IP address. eg:

10.0.0.168  yourdomain.com

The reason the error occurs is because the webserver is converting a URL call to a local filesystem call.  This suggestion mitigates that issue.

Another way to mitigate the issue if you don’t have control over your server hosts file is to proxy your traffic through a free cloudflare account.  However, this requires changes to your DNS.

 

 

Awesome Support Conflicts With Gravity Forms

Symptom

Attempting to create a new Gravity Form does not show the standard popup box.  And, there is a wpcolorpicker errror in your browser’s Javascript console.

Solution

Go to FORMS->SETTINGS (in Gravity Forms) and make sure that the No-Conflict mode is set to OFF.  Ironically, setting this to ON causes a conflict.

Reset Permalinks

Sometimes you get 404 errors on things like FAQs or Satisfaction Surveys.  There is a native WP bug.  To fix it just  go to the WordPress Settings->Permalinks page and click the “Save Changes” button in order to make some custom post types work.  You should do this twice before trying to view them again.

Style is missing or broken

If the plugin’s pages (login/register, ticket submit, ticket list) looks unstyled, there’s a simple solution:

  1. Go the plugin’s Settings → Style
  2. Click the “Save” button
  3. That’s it!

Now you can refresh for instance the login/register page, and you’ll see that the forms now looks good :)

 

Gmail: Sign-in attempt prevented

If you’re having issues setting up Gmail with our Email Piping addon, then read this.

If you get an email from Google about “Sign-in attempt prevented”, don’t worry;

gmail_signin_attempt_prevented

  1. All you have to do is to login to your Google Account here: https://myaccount.google.com/security?pli=1
  2. Then you turn ON the setting called “Allow less secure apps

You will then get an email confirmation from Google:

gmail_less_secure_apps_enabled

When you try to connect to Gmail, the error should now be gone :)

How to fix an empty Ticket List page

  1. Make sure that the page has the shortcode [tickets]
  2. Go to the plugin’s Settings.
  3. Locate the section called “Plugin Pages”
  4. Make sure that your page is selected under “Ticket List”

Translation does not work

Awesome Support is available in French, Dutch, Hungarian, Italian, Portuguese, Spanish, Swedish, Persian, Dutch and Polish. If one of these languages does not work, then please make sure that:

  1. Your plugin is up-to-date
  2. The language files exist
  3. The language files are correctly named, for example: awesome-support-fr_FR.mo

Want to help with translations? Find out more about translations and then follow the appropriate links to translations projects here: Awesome Support Translations.

Users get “You do not have the capacity to open a new ticket”

Normally, when a user registers through the plugin, he is given the role Support UserThis role has special capabilities.

If your users get the error message “You do not have the capacity to open a new ticket”, it means that they don’t have the special capabilities.

Here you have two choices:

  1. Change all your users’ role to Support User
  2. Give the role you want to use (eg. Subscriber) the special capabilities

If you don’t know how to add new capabilities to a role, I suggest you use a plugin like User Role Manager and give the desired role the following capabilities:

  • view_ticket
  • create_ticket
  • close_ticket
  • reply_ticket
  • attach_files

Do not give your users more than those 5 capabilities, otherwise they could get administrative privileges.

The plugin data isn’t removed from the database after uninstall

If you want to delete the plugin and all of its data, you need to go to the Advanced tab in the plugin settings and check the Delete Data option. Only then the data will be removed from the database during the uninstall process.

Blank page after ticket submission

This is most likely a permalinks issue. What you need to do is log into your WordPress admin, go to Settings > Permalinks and hit the Save button. You don’t actually need to change anything, just hitting Save will refresh your permalinks structure, including the new ticket post type.

E-Mail Piping Won’t Work With Gmail

In order to improve security, Google recently added an option that blocks what they consider “less secure connections”.

By less secure connection, Google means that a third-party software trying to login using your username and password is more vulnerable than one using the more complex OAuth identification process.

The e-mail piping addon uses this method to login and that’s the reason why, with some accounts, the piping won’t work. Don’t worry though, this doesn’t mean that the addon is not secure. In fact, most e-mail clients use the same method: Microsoft Outlook, Mozilla Firebird, Mailbird…

In order to solve this problem, you need to allow “less secure connections” in your Google Apps settings. The process is detailed in Google’s documentation: https://support.google.com/a/answer/6260879?hl=en


Customization

How To Create A Custom Registration Form

One of the common requests we get is to customize our login form.  Unfortunately Awesome Support does not have that feature – primarily because there are at least a dozen login-form customizer plugins out there.  We figured there was no need to build yet another plugin to offer the same functionality.  Instead, here is the process you can use to build your own login form and integrate it seamlessly with Awesome Support.

Build A Custom Registration Form

 

How To Add Content Before The Submit Button

Here is an example of how you can add some text before the submit of the ticket form.  You can add this code to your theme’s FUNCTIONS.php file or to a custom plugin – a plugin is better since you wouldn’t lose changes when you switch themes.

add_action( 'wpas_submission_form_inside_before_submit', 'inside_before_test');

function inside_before_test() {

echo 'This is test output' ;

}

How To Add Content BEFORE the Subject Line

Here is an example of how you can add some text before the subject line of the ticket form.  You can add this code to your theme’s FUNCTIONS.php file or to a custom plugin – a plugin is better since you wouldn’t lose changes when you switch themes.

add_action( 'wpas_submission_form_inside_before_subject', 'inside_before_test');

function inside_before_test() {

echo 'This is test output' ;

}

How To Remove The Close Checkbox From The Front-End

On rare occasions you might want to prevent end users from closing tickets.  The easiest way to do that is to remove the checkbox that allows the user to close a ticket.  You can use some CSS to do that (though, be warned, this might need adjustment if you have a custom or non-standard theme).

Place the following in your theme’s styles.css file:

div.checkbox label {
display: none;
}
Note: this is not a SECURE method – a really determined user  can still submit a ticket with the checkbox turned on via some injected html.  All this does is make the checkbox invisible.

How to Limit the Number of Concurrently Open Tickets

If you wish to limit the number of tickets a user can have opened at the same time, you can hook into the submission process using the wpas_before_submit_new_ticket_checks filter.

Example

How to Add Custom Checks to the Ticket Submission Process

If you want to add custom checks to the ticket submission process, it can be done quite easily by hooking onto the wpas_before_submit_new_ticket_checks filter.

A ticket will only be submitted if the filtered variable returns true.

It is also possible to return an error message that will be displayed to the visitor by returning a WP_Error object.

Example

How to enable Select2 on select dropdowns?

Since version 3.3, it is now possible to turn any custom fields “select” into a Select2 Dropdown. This is particularly useful for dropdowns with lots of items.

Enable it for custom fields

It couldn’t be easier to enable Select2 for your custom fields. Simply add the argument select2 => true to any custom field (which type is select or taxonomy).

Enable it for “core” dropdowns (ie Products, Department)

To enable select2 for the products dropdown, we prepare a code snippet for you that uses the built-in filters:

 

How can I change/add/remove the status labels (open, close, etc.)?

Our Custom Status extension allows you to easily add and remove statuses.  However, if you would like to write the code yourself read on!

Ticket “states” are filtered by the hook wpas_ticket_statuses. The hook passes an array of registered statuses where the key is the status ID and the value is the status label.

Adding Custom Status

add_filter( 'wpas_ticket_statuses', 'wpas_my_custom_status' );
function wpas_my_custom_status( $status ) {
	$status['my_custom_status'] = 'My Custom Status';
	return $status;
}

Removing Status

add_filter( 'wpas_ticket_statuses', 'wpas_my_custom_status' );
function wpas_my_custom_status( $status ) {
	unset( $status['id_of_status_to_remove'] );
	return $status;
}

Editing a Status

add_filter( 'wpas_ticket_statuses', 'wpas_my_custom_status' );
function wpas_my_custom_status( $status ) {
	$status['id_of_status_to_edit'] = 'My New Label';
	return $status;
}

You can add the above snippets in your theme’s functions.php.

Customizing the outgoing emails

Unless you’re a developer and you know what you’re doing, the best way to customize outgoing emails with WordPress is to use a plugin like https://wordpress.org/plugins/wp-better-emails/. It affects all emails sent by WordPress, not only the ones from Awesome Support.

How to change the tickets slug?

By default, all tickets will be accessed through a URL of the type domain.com/ticket/my-ticket-title.

If you wish to change the slug ticket to something else, let’s say help, so that your URLs look like domain.com/help/my-ticket-title, you need to add a constant in your theme’s functions.php file as follows:

define( 'WPAS_SLUG', 'my_new_slug' );

After you make this change you will need to reset the permalinks for WordPress – just go to SETTINGS->PERMALINKS and click the SAVE CHANGES button. This forces WordPress to update all items to use your new slug.

How to set the product field as mandatory?

If you have enabled multi-products support and want to make the “Product” field in the submission form mandatory, just add the following code snippet to your theme’s functions.php file: https://gist.github.com/julien731/a519956ce9c81542439c

How to disable agent auto-assignment?

If you need to disable the auto-assignment function and hence have all new tickets assigned to the default agent (set in the plugin general settings), you can add this constant in your theme’s functions.php file:

define( 'WPAS_DISABLE_AUTO_ASSIGN', true );

Code Examples

How To Change The Description Of A Core Custom Field

You can change most attributes of a custom field with a filter – but not all attributes.  For example, you cannot change the title of a custom field shown on the screen without using additional filters. But, most other custom field attributes can be changed.  Below is an example of how to change the description of  a custom field (the text shown under or next to a custom field other than its name).

add_filter( 'wpas_get_custom_fields', 'wpas_change_product_desc' );

function wpas_change_product_desc( $custom_fields ) {

	if ( isset( $custom_fields['product'] ) ) {
		$custom_fields['product']['args']['title'] = 'New Product Title';        //****This will NOT work consistently***
		$custom_fields['product']['args']['desc'] = 'New Product Title Desc';    // This will work
	}

	return $custom_fields;
}


How To Change The Label Of A Core Custom Field

Awesome Support implements a lot of its data using its own custom fields functionality.  As such you can use many of the built in custom fields functions, actions and filters to control how these fields behave.  Examples of fields that are implemented this way include Product and Department.

Additionally, in version 3.6 and later, fields such as Priority, Channel and a few other core fields were introduced.  Along with these new fields, there is a filter that can now be used to change the labels attached to these fields.  Here is an example function that uses this filter:

add_filter( 'wpas_cf_field_label', 'wpas_cf_change_label', 10, 2 );
function wpas_cf_change_label( $label, $field ) {

    switch ( $field[ 'name' ] ) {

        // Ticket Priority label
        case 'ticket_priority':

            return 'A New Ticket Priority Label';
            break;

        // Ticket Channel label
        case 'ticket_channel':

            return 'A New Ticket Channel Label';
            break;

        // Department Label
        case 'department':

            return 'A New Department Label';
            break;

        // Product Label
        case 'product':

            return 'A New Product Label';
            break;

        default:

            return $label = 'NEW TOO: ' . $label;

            break;

    }

}

Column Headers In The Ticket List

The above filter only applies to custom fields defined internally by Awesome Support.  These fields will have the labels changed in the header of the ticket list.  BUT, the ticket list has other fields that are not internal custom fields.  For these, you would have to use a different filter:

add_filter('wpas_custom_column_title', 'wpas_custom_column_title', 10, 2);
function wpas_custom_column_title( $field_title, $field ) {

if( empty( $field ) ) {
 return 'Error';
}

switch ( $field['name'] ) {
 
 case 'product':

 return 'PROD ' . $field_title;
 break; 

 case 'department':

 return 'DEPT ' . $field_title;
 break;

 case 'ticket_channel':

 return 'CHAN ' . $field_title;
 break;
 
 case 'ticket_priority':

 return 'PRIO ' . $field_title;
 break; 

 case 'ticket-tag':

 return 'TAG ' . $field_title;
 break;

 case 'wpas-activity':

 return 'ACTV ' . $field_title;
 break;

 default:

 return $field_title;

}
}

Finally, there are even other columns that have to be handled differently.  Here is an example of those:

add_action( 'manage_ticket_posts_columns', 'wpas_column_title', 20, 1 );
function wpas_column_title( $posts_columns ) {

$posts_columns[ 'date' ] = 'Last Modified';

$posts_columns[ 'id' ] = 'Ticket #';

$posts_columns[ 'title' ] = 'new title';

return $posts_columns;

}

Requires

All of these filters require Awesome Support 3.6.0 or later in order to work!

How To Add Content Before The Submit Button

Here is an example of how you can add some text before the submit of the ticket form.  You can add this code to your theme’s FUNCTIONS.php file or to a custom plugin – a plugin is better since you wouldn’t lose changes when you switch themes.

add_action( 'wpas_submission_form_inside_before_submit', 'inside_before_test');

function inside_before_test() {

echo 'This is test output' ;

}

How To Add Content BEFORE the Subject Line

Here is an example of how you can add some text before the subject line of the ticket form.  You can add this code to your theme’s FUNCTIONS.php file or to a custom plugin – a plugin is better since you wouldn’t lose changes when you switch themes.

add_action( 'wpas_submission_form_inside_before_subject', 'inside_before_test');

function inside_before_test() {

echo 'This is test output' ;

}

Make License Field Optional When Using The Easy Digital Downloads Extension

An example on how to do this is posted here:  pastebin.com/0xx8HY0h