Hi I want to make the serialized reading value 1 or 0 in mysql, how can I do
example code
$query = $wpdb->get_results('select * from wp_options where option_id = 96');
$dizi = unserialize($query[0]->option_value);
// echo $dizi['subscriber']['capabilities']['read'];
//print_r($dizi);
if(array_key_exists('read', $dizi['subscriber']['capabilities'])){
echo $dizi['subscriber']['capabilities']['read'] = 0;
}
exit;
Hi I want to make the serialized reading value 1 or 0 in mysql, how can I do
example code
$query = $wpdb->get_results('select * from wp_options where option_id = 96');
$dizi = unserialize($query[0]->option_value);
// echo $dizi['subscriber']['capabilities']['read'];
//print_r($dizi);
if(array_key_exists('read', $dizi['subscriber']['capabilities'])){
echo $dizi['subscriber']['capabilities']['read'] = 0;
}
exit;
Share
Improve this question
asked Nov 12, 2020 at 15:56
Mehmet CemilMehmet Cemil
501 silver badge5 bronze badges
3
|
1 Answer
Reset to default 1You should not use raw SQL to modify roles and capabilities, it is very bad practice, and unnecessary.
Instead, use the roles API, e.g.
$role = get_role( 'subscriber' );
$role->add_cap( 'read' );
Or to add it to a specific user:
$user = new WP_User( $user_id );
$user->add_cap( 'read' );
Likewise you can remove a capability from a role:
$role = get_role( 'subscriber' );
$role->remove_cap( 'read' );
add_cap
? I feel like that would be easier than trying to deal with$wpdb
. – Howdy_McGee ♦ Commented Nov 12, 2020 at 16:19