Troubleshooting

If you are looking for an answer to “How to …” question, it may help to read FAQ.

Please, make sure you use the latest qTranslate-X and WordPress.

When something goes wrong, before you report a problem on Support Forum, try to gather as much information as possible.

In many cases, a report of a trouble starts with a statement like “I updated some plugins/theme and my site went blank at front end …”. Blank page at front-end normally indicates a fatal error in the PHP code.

In any case, the first thing is to figure out what exactly error is occurring. The following steps may help:

  • Look for error messages in log files. There are normally two major log files:
    • /error_log“, in the root of WordPress installation folder, which keeps record of errors happened at front-end.
    • /wp-admin/error_log“, another log with messages coming from admin side.

    If error_log files are not there, contact your provider to find out how to access your error log.

  • Enable WP_DEBUG constant in /wp-config.php, which may help to see more useful messages: change line “define('WP_DEBUG', false);” to have “true“.
  • Install a favorite debugging plugin, for example, “Debug Bar“, which sometimes help to see the error messages quicker.
  • Lookup if there are any error messages in Java console. Most browsers show Java console on pressing shortcut Ctrl+Shift+J, otherwise lookup help documentation for how to open Java Console.
  • Try to reproduce the problem under a simpler configuration with as many plugins off as possible and with one of the standard themes, like “Twenty Sixteen”, “StoreFront”, etc. This may help you to figure out which plugin is in conflict.

These very likely to help you to find out what is happening. Once you found out the cause of the trouble, you may have an idea how to fix it.

In any case, the result of these steps will be a useful information to mention, when you finally report the issue on Support Forum. In case of blank page, in most of cases seen, it was a fatal error from a call to undefined function name of which starts with qtrans_*, which is explained in FAQ topic.

You may also contact the team, if you think you found a bug, have an idea how to improve the plugin, or wish to get a private paid help.

As last resort, when nothing else works, you may give us admin access to your site to continue troubleshooting together. Alternatively, you may make a copy of your site with plugin like Duplicator and upload it to somewhere like dropbox for us to be able to download it.

A few frequently reported troubles listed below.

  • Blank page at frontend has already been discussed above. Most likely solution is to turn on option “Compatibility Functions” on page /wp-admin/options-general.php?page=qtranslate-x#integration.
  • Cannot login as admin. To gain access again, rename folder “/wp-content/plugins/qtranslate-x” to something else – this will auto-disable the plugin and let you login again. Then look for errors in erro_log. Possible reasons:
    • Messed up .htaccess file. In order to reset it, press “Save Changes” button on page Settings/General (/wp-admin/options-general.php), or fix it manually.
    • Missing line “define('WP_DEBUG', false);” in file /wp-config.php.
  • If Setting/Languages page, /wp-admin/options-general.php?page=qtranslate-x, shows no options regardless which tab is chosen, it is most likely due to a 3rd-party javascript error, which prevents java script from the normal execution. Fix the error or disable offending plugin to get the setting page back to normal view.
  • If number of menu items becomes big enough, you will need to increase max_input_vars in php.ini, which is by default set to 1000. If you have WP_DEBUG on, you will see one of the messages
    Warning: Input variables exceeded 1000
    Warning: Invalid argument supplied for foreach() in /wp-content/plugins/qtranslate-x/admin/qtx_admin.php on line 14
    

    in menu editor /wp-admin/nav-menus.php a few menu items before it will generate fatal error. Contact your hosting provider to find out how to increase max_input_vars. The value you need is roughly 100 + [number of enabled languages] times [number of menu items] times 11.

  • 500 Internal Server Error – most likely check your .htaccess file and fix it. For example, we observed improper call of function flush_rewrite_rules() at front-end on each request with theme Viva Hotel (other themes of the same author possibly have this problem too). This function regenerates .htaccess file and should never be called at front end. When qTranslate-X is active, it makes function home_url() return a language specific home URL, which causes .htaccess file to be improperly generated in addition to the problem of its generation on each request. Once this file is generated incorrectly, the server start responding with 500 error, which is extremely hard to troubleshoot.To offset the problem, you may precede the call with an “if” statement like this:
    if( (defined('WP_ADMIN') && WP_ADMIN) && !defined('DOING_AJAX'))
      flush_rewrite_rules();

    which will make this call run only at admin side. However, this is still not a proper fix, and you should let the theme know to correct this problem permanently according to WordPress instructions.

  • Notice: Undefined index: admin_config – most likely the update or installation of the plugin did not work correctly for some reason. It may, for example, happen if plugin’s code was overwritten on the file system without doing deactivate/activate actions from WordPress admin page. In most cases, re-saving of Settings/Languages options on page /wp-admin/options-general.php?page=qtranslate-x fixes the issue. Doing “Deactivate” and then “Activate” actions for plugin qTranslate-X on page /wp-admin/plugins.php may help too.