Available from Version 2.3.1
Here is code snippet for usage of target page settings filter
/**
* Callback function to add more conditions for target page settings
*
* @param bool $display
* @param string $style_id
* @return bool $display
*/
function your_callback_function( $display, $style_id ) {
// Replace style id with your style ID
if( $style_id == 'cp_id_d3a5b' ) {
// your custom logic
}
return $display;
}
add_filter( 'cp_target_page_settings', 'your_callback_function', 10, 3 );
Sample Usage:
Consider you want to display your style only to users who have an author role,
/**
* Display style only to users with author role
*/
function check_user_role( $display, $style_id ) {
// Replace style id with your style ID
if( $style_id == 'cp_id_bb2b8' ) {
if( is_user_logged_in() ) {
// get current user role
$current_user = new WP_User(wp_get_current_user());
$user_roles = $current_user->roles;
if( in_array( "author", $user_roles ) ) {
$display = true;
} else {
$display = false;
}
} else {
// hide style for non logged in users
$display = false;
}
}
return $display;
}
add_filter( 'cp_target_page_settings', 'check_user_role', 10, 3 );
To execute this function, add above code in your theme’s functions.php file.
IMPORTANT NOTE: This filter will overwrite target page settings
Where can I find my Style ID?
- Open your style in the editor.
- Go to Design -> Advanced Design Options Panel.
- Scroll down to the bottom of that section, you will find your style ID.
