Description
This filter hook allows you to filter the $content
container variable based on your own filter criteria.
This filter is part of the do_securify()
function, which is a filter function hooked to the_content and runs at a priority of 99 (late). The filter hook comes at the end of the function and will contain whatever is in the $content
variable at that point. This may be the post content if unblocked or the user is logged in, or the login/registration form if the user is not logged in.
This filter can be used to add additional criteria for displaying content (such as levels, groups, or other individual user criteria), or it can be used to do additional filtering on the content as needed.
Parameters
$content
(string)(required) The $content variable after the do_securify() function has run.
$orig_content
(string)(optional) The original $content variable before being filtered.
Examples
The basic setup:
add_filter( 'wpmem_securify', 'my_securify_filter' ); function my_securify_filter( $content ) { /* * This can filter the content that is returned. * * If you have additional criteria you want to set to * block content, such as a custom post type, or a user * level, this is the filter you want to use. In that * case, return an error message (or other content) if * additional criteria are not met. */ return $content; }
Here is a theoretical example where a custom user field “extra_access” is checked. If the user is logged in, the content is blocked, and they do not have “1” as the “extra_access” value, then an error message is returned.
/** * Here is a theoretical example where additional user * criteria based on a custom user field "extra_access" * is checked. If the field "extra_access" is not "1" * then an error message is returned. */ add_filter( 'wpmem_securify', 'my_securify_filter' ); function my_securify_filter( $content ) { // If the user is logged in and the content is blocked. if ( is_user_logged_in() && wpmem_is_blocked() ) { $user_id = get_current_user_id(); $extra_access = get_user_meta( $user_id, 'extra_access', true ); if ( 1 != $extra_access ) { return "You do not have extra access!"; } } return $content; }
Changelog
- Introduced in version 2.7.7
- Moved to do_securify() in WP_Members object in 3.0.0
Source
wpmem_securify is located in includes/class-wp-members.php
Code Snippet Library [Subscriber Content]
- Replace the default login and registration forms with buttons
- Restrict a post or a page to a specific user role – multiple select version
- Restrict Post or Page Access to Specific Users – Multiple Select Version
- Restrict a post or a page to a specific user role
- Restrict content by user level
- How to restrict categories to a defined user group
- Restrict Post or Page Access to a Specific User
- How to add multiple user levels by category
- Blocking content in a custom template