Recently, we’ve noticed that many of our clients website that runs LayerSlider Responsive WordPress Slider Plugin is having an issue with an updated version.
The problem is that as soon as the plugin is updated, you will see a php error message appearing at the top of the page where you are running the layer slider.
The error message points to an Call to undefined function.. mb_ereg_match().
Causes for call to underfined function mb_ereg_match()
As with the most WordPress errors, the issue is rather simple. If it is not the plugin that is broken, it has to be the version of PHP, WordPress, or some settings on your web server. What we have found as the potential cause for the issue is as it follows:
1. Old version of PHP running the WordPress. PHP version 5 and later has the full support or mb_ereg which allows running multibyte regular expression function.
2. mbstring extension is not enabled. You can refer to this guide for installing the mbstring php extension or contact your web hosting company or server administrator to simply have it done for you.
3. If you are running php version 5.x or later and mbstring extension is installed and still having the issue, it is most likely that the Multibyte Regex is not enabled. In most cases, this comes by default with the installation of mbstring php extension, but it is very possible that Multibyte eregi and Multibyte Regex is not enabled. You can also contact the support and make sure they are enabled on your server.
Hope this information helps.
If you are experiencing the thumbnail navigation and or the advanced arrow navigation not functioning when mouse is at hover state, it is probably the element that sits in-front or behind the controls maybe is blocking the pointer event.
The issue can actually be fixed easily by putting pointer-events:none; targeting the element that overlaps with the control.
The default TwentySixteen theme blocks the control of the navigation, in this can please target the div that overlaps with the plugin control and add “pointer-events: none;” to the css targeting the specific element.
We have received some reports that Post Ticker Pro for WordPress displaying the following error message:
“Parse error: syntax error, unexpected ‘[’ in YOURSITE/wp-content/plugins/wp-post-ticker-pro/public/partials/wp-post-ticker-pro-public-display.php on line 389”
This is caused by running a php version prior to 5.4, which is has been out of support since August 14th, 2014.
We strongly advise to upgrade the version of php for security and maintenance concerns. You can find the migration guide here: http://php.net/eol.php
However, in order to fix the issue, you can simply replace the whole if statement containing the line 389 with the code from the following text file: WordPress Post Ticker Fix.
If you are not very familiar with server management for your WordPress website, you may look into a fully managed and secured WordPress hosting that provides all the speed and security that will take your WordPress website to the next level that also performs better for SEO.
Should there be any other issues, please feel free to contact us for your WordPress plugin support here.
From our one of the recent WordPress website development project, we have noticed that WooCommerce outputs a notification that varies depending on the browser users use during the checkout process, which also logs the message “Unable to fix malformed JSON” in the console.
Details of the WooCommerce problem
The error messages displayed on the frontend
Chrome: SyntaxError: Unexpected token Y in JSON at position 0
Firefox: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Internet Explorer (a.k.a. Internet Error) & Edge (a.k.a. Error) : SyntaxError: Invalid character
Safari: SyntaxError: JSON Parse error: Unexpected identifier “You”
In order to troubleshoot what is causing the issue, we have done some research and noticed that it is not just us, but many people are experiencing the same issue.
As a first step in WordPress troubleshooting, we started disabling all plugins installed, but WooCommerce, to find out whether it is a plugin issue, and yes, we did find the problem.
We were very concerned to learn that it is our plugin, but with a little more research we found that many other plugins had the same issues with WooCommerce. We started back tracking the issue and found that it technically is not our plugins that are causing the problem, but WooCommerce may need to make an update to checkout function.
Our Findings and Solution
Proceeding to WooCommerce checkout creates an error and outputs a notification message. This still records the order in the WordPress database, but it doesn’t get processed from the actual credit card processing or any checkout method the store owner has chosen.
WooCommerce uses “save_post” hook when users checkout products via ajax call.
Some of our plugins adds custom metabox to the default WordPress post type and checks whether the person trying to save the post has permission to edit the post. When the WooCommerce object, wc_checkout_form, processes the order via ajax, it triggers save_post action which interferes with our plugins using save_post hook. Due to the security feature that our plugins check for edit permission when save_post action is triggered, it denies saving the post then WooCommerce sees it as an issue.
When you login to WordPress with an account with “edit” privilege, the error is not detected and finishes the checkout process normally.
We have updated our plugins to check for permission only when it is updating the data from the custom metabox when our plugins add to the default WordPress posts.
It is still safe to use our plugins and the issue has been fixed without sacrificing the security features that confirms the permission of the user who edits the post.
If you are experiencing the same issue, it is highly likely that you are also running a plugin that checks for user’s permission. If it is a plugin you must use, you can use Notepad++ or any other code editor to open all php files of the plugin and search for “save_post” string and move the function to check for the permission to execute only when a relevant data is updated.