Using the PHP Interface

MemberMouse provides you with a wide range of SmartTags you can use to create a dynamic experience for your members. There are SmartTags that display the current member's name, email address and other information, ones you can use to allow member's to manage their subscriptions, ones you can use to change content based on the current member's access rights and a lot more.

This is all very helpful when you're working within WordPress' content editor, but what if you want to be able to do all of this within a custom PHP script?

This is where the PHP Interface comes in.

PHP Interface Requirements

The PHP interface functions require access to MemberMouse libraries in order to work. When you use the PHP interface functions within a WordPress template, these libraries are automatically loaded, however if you want to use them within a standalone PHP script, you'll need to manually load the MemberMouse libraries by adding the following includes to the top of your file:

require_once("wp-load.php");
require_once("wp-content/plugins/membermouse/includes/mm-constants.php");
require_once("wp-content/plugins/membermouse/includes/init.php");

If your script is located in the root WordPress directory then you can use the includes exactly as they're presented above. If your script is located in another directory then you need to update the paths to the files appropriately.

Translating SmartTags in PHP Functions

With MemberMouse's PHP Interface you can utilize MemberMouse SmartTags right within a custom PHP script. You could even install a PHP execution plugin like Exec-PHP and use the PHP Interface functions right within the WordPress content editor. All SmartTags are supported through the PHP Interface with the exception of [MM_Form...] and [MM_Error...] SmartTags.

When using SmartTags within the WordPress content editor the following syntax is used:

[MM_Member_Data name='email']
[MM_Member_Decision membershipId='2|3']...[/MM_Member_Decision]

SmartTags are transformed into their PHP interface equivalent by taking the SmartTag name, making it all lowercase and adding parenthesis to make it a valid PHP function. So for example, [MM_Order_Data] becomes mm_order_data().

You pass attributes to PHP Interface functions as an associative array. Here are a couple examples:

mm_member_data(array("name"=>"email"))
mm_member_decision(array("isMember"=>"true", "membershipId"=>"2|3"))

The PHP Interface function accepts all of the same attributes as the SmartTag itself. Refer to the SmartTag documentation for a list of attributes by SmartTag.

Return Values

mm_..._data() functions return a string containing the requested data.

mm_..._link() functions return a string containing a URL or javascript function that should be placed within a <a> tag or <button> tag to make it a functional link.

mm_..._decision() functions return true or false based on the attributes passed to the function and the context in which it is run.

Examples

To see examples of how each SmartTag can be used in PHP, download the sample script.

Feedback and Knowledge Base