Description
This hook allows you to filter the message that is displayed to a user when they attempt to view content that is restricted to paying subscribers. There are three possible default messages:
- This content is for members only.
- It appears that you have registered, but have not completed payment. Once your payment is received, you will be able to access all of the premium members-only content on the site.
- Your account has expired.
Parameters
$str
(string) (required) A string containing the message.
Examples
/** * This example changes the default message if the * user's account has expired. */ add_filter( 'wpmem_exp_expired_msg', 'my_expired_msg' ); function my_expired_msg( $msg ) { if ( strpos( $msg, 'Your account has expired.' ) !== false ) { $msg = 'Your account has expired. Please renew in the user settings area.'; } // return the message, filtered or unfiltered return $msg; } /** * This example creates an entirely new message based on the * user's payment status (pending or expired). */ add_filter( 'wpmem_exp_expired_msg', 'my_expired_msg2' ); function my_expired_msg2( $msg ) { $user_id = get_current_user_id(); $msg = '<div class="wpmem_msg" align="center">'; if ( get_user_meta( $user_id, 'exp_type', true ) === 'pending' ) { $msg .= '<p><b>This content is for subscribers only.</b><br />'; $msg .= 'Once the payment process is complete you will have access to premium members only content.'; $msg .= '</p>'; $msg.= wpmem_payment_button(); } else { $msg .= '<p><b>Your subscription has expired.</b></p>'; $msg .= '<p>Please <a href="' . wpmem_profile_url( 'renew' ) . '">renew your subscription now</a>.</p>'; } $msg.= '</div>'; return $msg; }
Notes
Once in the object, the settings managed by this filter can be changed directly in the object on the fly, so this filter is not used much anymore. However, it remains supported in the plugin.
Changelog
- Introduced in version 0.1.0
Source
wpmem_exp_expired_msg is located in /includes/class-wp-members-expiration-forms.php