| 1 |
<?php |
| 2 |
|
| 3 |
add_filter( 'map_meta_cap', 'flamingo_map_meta_cap', 10, 4 ); |
| 4 |
|
| 5 |
function flamingo_map_meta_cap( $caps, $cap, $user_id, $args ) { |
| 6 |
$meta_caps = array( |
| 7 |
'flamingo_edit_contact' => 'edit_users', |
| 8 |
'flamingo_edit_contacts' => 'edit_users', |
| 9 |
'flamingo_delete_contact' => 'edit_users', |
| 10 |
'flamingo_edit_inbound_message' => 'edit_users', |
| 11 |
'flamingo_edit_inbound_messages' => 'edit_users', |
| 12 |
'flamingo_delete_inbound_message' => 'edit_users', |
| 13 |
'flamingo_delete_inbound_messages' => 'edit_users', |
| 14 |
'flamingo_spam_inbound_message' => 'edit_users', |
| 15 |
'flamingo_unspam_inbound_message' => 'edit_users', |
| 16 |
'flamingo_edit_outbound_message' => 'edit_users', |
| 17 |
'flamingo_edit_outbound_messages' => 'edit_users', |
| 18 |
'flamingo_delete_outbound_message' => 'edit_users', |
| 19 |
); |
| 20 |
|
| 21 |
$meta_caps = apply_filters( 'flamingo_map_meta_cap', $meta_caps ); |
| 22 |
|
| 23 |
$caps = array_diff( $caps, array_keys( $meta_caps ) ); |
| 24 |
|
| 25 |
if ( isset( $meta_caps[$cap] ) ) { |
| 26 |
$caps[] = $meta_caps[$cap]; |
| 27 |
} |
| 28 |
|
| 29 |
return $caps; |
| 30 |
} |
| 31 |
|