You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been trying to wrap my head around getting Unlock to change user roles based on Unlock status, Similar to the event.detail.state (locked/unlocked) in the 'Unlock Event Handler' [Script] .
I've found a solution that works for me but can be improved.
It's just a few lines of code added.
The code below instructs Unlock to check user roles and change/remove roles based on unlock block status.
ex. User registers to site & gets default subscriber role. User pays to view content that's locked. Unlock detects user is paid subscriber, removes lock to content . User 'subscriber' role gets removed & 'contributor' role gets added. Unlock Detects user is no longer a paid subscriber , locks content & removes 'contributor role & sets subscriber role.
Located in the (class-unlock-box-block.php) file
`$locks = $attributes['locks'];
$settings = get_option( 'unlock_protocol_settings', array() );
$networks = isset( $settings['networks'] ) ? $settings['networks'] : array();
// Get the author
$author = wp_get_current_user();
if ( Unlock::has_access( $networks, $locks ) ) {
// Remove role
$author->remove_role( 'subscriber' );
// Add role
$author->set_role( 'contributor' );
return $content;
}
// Remove role
$author->remove_role( 'contributor' );
// Add role
$author->set_role( 'subscriber' );
return $this->get_checkout_url( $attributes );
}
class-unlock-box-block copy.txt
`
What would be neat is an option for each lock to determine a user role . Since we can add multiple locks to a block why not add multiple roles corresponding to those locks.
The text was updated successfully, but these errors were encountered:
I've been trying to wrap my head around getting Unlock to change user roles based on Unlock status, Similar to the event.detail.state (locked/unlocked) in the 'Unlock Event Handler' [Script] .
I've found a solution that works for me but can be improved.
It's just a few lines of code added.
The code below instructs Unlock to check user roles and change/remove roles based on unlock block status.
ex. User registers to site & gets default subscriber role. User pays to view content that's locked. Unlock detects user is paid subscriber, removes lock to content . User 'subscriber' role gets removed & 'contributor' role gets added. Unlock Detects user is no longer a paid subscriber , locks content & removes 'contributor role & sets subscriber role.
Located in the (class-unlock-box-block.php) file
`$locks = $attributes['locks'];
class-unlock-box-block copy.txt
`
What would be neat is an option for each lock to determine a user role . Since we can add multiple locks to a block why not add multiple roles corresponding to those locks.
The text was updated successfully, but these errors were encountered: