***Updating to MM2.2.5 resolves this issue
Resolution Update
Recommended Action: Upgrade to the latest version of MemberMouse. You can do this by following the steps listed in Manually Upgrading MemberMouse
Problem
Since
WordPress' security update in 4.2.3 they are now stripping out the
JavaScript protocol in the href
attribute of anchor
tags by default.
For example, when a SmartTag that generates a JavaScript function
is used within an href
attribute such as:<a href="[MM_Form_Button type='submit'
paymentMethod='default']">Submit Order</a>
When functioning correctly, it results in the following HTML:<a href="javascript:mmjs.checkout(true);">Submit
Order</a>
However, if WordPress is stripping out the JavaScript protocol this will result in an invalid link and something that
looks like this:<a
href="http://yourdomain.com/your-page/mmjs.checkout(true);">Submit
Order</a>
Solution
MemberMouse disables the WordPress security filter using a WordPress-recommended filter but if another plugin or theme enables it, then it
reintroduces the issue. Your first option is to discontinue the use of the theme or plugin that's causing the problem which you can determine by running MemberMouse in safe mode.
Alternatively, you can enable the JavaScript protocol manually by making a change to WordPress core file wp-includes/functions.php
. In this file locate the wp_allowed_protocols() function
and replace this line of code:$protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'fax', 'xmpp', 'webcal' );
With this (changes in bold):$protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'fax', 'xmpp', 'webcal', 'javascript' );