• Flamingo Plugin: https://en-ca.www.ads-software.com/plugins/flamingo/

    Hello, for those that want to provide access to Flamingo’s non-admin users I have figured it out.

    The “ONLY” way to make flamingo viewable to everyone is to enable the “edit users” in the role capability settings.

    So what I did is:

    1. Enabled “edit users” for the lower roles

    2. Disabled “view users” and every other user capability under the user roles section so they cannot see the users menu.

    [Note] You will need a WordPress User Roles plugin so you can access and edit role capabilities.

    Make sense?

    That is the only way it works at this time.

    Take care,
    Shane Keller

Viewing 10 replies - 1 through 10 (of 10 total)
  • Hey Shane.

    It’s me from the other thread you responded to.

    Quick note for anyone having problems, this solution did not work for me when the WP Adminimize plugin was also installed.

    I spent a good hour or so installing various user role plugins trying to make this work and was beginning to think your solution was incorrect. I deactivated Adminimize and my editor immediately saw the Flamingo menu item.

    To add on, the only new capability I had to give my editor was ‘edit_users’, and I used this plugin to do it: https://www.ads-software.com/plugins/wpfront-user-role-editor/

    Thanks, Shane!

    – Bagus

    Hi All
    To avoid the potential security vulnerability of allowing lower user roles to edit_users you could just add the below function to your function.php.

    What it does it is it changes the default user capabilities of the Flamingo Plugin. So now anyone that can edit a post or publish a post will be able to see the flamingo menu.

    This solution also works with the Adminimize plugin on WP 4.6.1

    remove_filter( 'map_meta_cap', 'flamingo_map_meta_cap' );
    add_filter( 'map_meta_cap', 'mycustom_flamingo_map_meta_cap', 9, 4 );
    function mycustom_flamingo_map_meta_cap( $caps, $cap, $user_id, $args ) {
        $meta_caps = array(
            'flamingo_edit_contacts' => 'edit_posts',
            'flamingo_edit_contact' => 'edit_posts',
            'flamingo_delete_contact' => 'edit_posts',
            'flamingo_edit_inbound_messages' => 'publish_posts',
            'flamingo_delete_inbound_message' => 'publish_posts',
            'flamingo_delete_inbound_messages' => 'publish_posts',
            'flamingo_spam_inbound_message' => 'publish_posts',
            'flamingo_unspam_inbound_message' => 'publish_posts' );
    
        $caps = array_diff( $caps, array_keys( $meta_caps ) );
    
        if ( isset( $meta_caps[$cap] ) )
            $caps[] = $meta_caps[$cap];
    
        return $caps;
    	}
    • This reply was modified 8 years, 1 month ago by ckitso.
    MarcoWilli

    (@marcowilli)

    This works for me. Thanks ckitso!

    @ckitso Your code works beautifully, thank you !!

    @ckitso This works and allows the user to view a list of contact form submissions, but when you click through to view the message I get the error:

    ‘Cannot load flamingo_inbound’

    I’ve tried adding this particular hook into the function you’ve provided but to no avail.

    Any ideas what to do to resolve this?

    Resolved:

    It wasn’t your code, it was a plugin clash. In my case PopupMaker.

    Thanks for the code, much appreciated.

    Hi,

    I want to use this code too. It’s working, i see the flamingo plugin now as a editor, but i cannot view/open the inbound messages. I only see the “spam” textlink. Maybe because of the latest WP version? I see this code is already 8 months old.

    Anyone else having this issue?

    Hi!

    I′m having same problem as @bonsaimedia
    It works but it disables inbound messages view, even for administrators.
    I′m also using ADMINIMIZE plugin (but I tested with this one deactivated)

    WP version 4.8
    Flamingo version 1.6

    I hope this can be fixed soon!

    Thanks

    Here is the update of the function provided by Ckitso
    (So it worked for me. Editor user now can open the messages)

    remove_filter( 'map_meta_cap', 'flamingo_map_meta_cap' );
    
    add_filter( 'map_meta_cap', 'mycustom_flamingo_map_meta_cap', 9, 4 );
    
    function mycustom_flamingo_map_meta_cap( $caps, $cap, $user_id, $args ) {
        $meta_caps = array(
    	
    		'flamingo_edit_contact' => 'edit_posts',
    		'flamingo_edit_contacts' => 'edit_posts',
    		'flamingo_delete_contact' => 'edit_posts',
    		'flamingo_edit_inbound_message' => 'publish_posts',
    		'flamingo_edit_inbound_messages' => 'publish_posts',
    		'flamingo_delete_inbound_message' => 'publish_posts',
    		'flamingo_delete_inbound_messages' => 'publish_posts',
    		'flamingo_spam_inbound_message' => 'publish_posts',
    		'flamingo_unspam_inbound_message' => 'publish_posts',
    		'flamingo_edit_outbound_message' => 'publish_posts',
    		'flamingo_edit_outbound_messages' => 'publish_posts',
    		'flamingo_delete_outbound_message' => 'publish_posts',
    	);
    
        $caps = array_diff( $caps, array_keys( $meta_caps ) );
    
        if ( isset( $meta_caps[$cap] ) )
            $caps[] = $meta_caps[$cap];
    
        return $caps;
    	}

    Thanks, @marcelovegaweb and @ckitso!

    My previous version of this code had been working for a while to provide access to editors, but just today I noticed that even the Admin role no longer had ability to edit or even click on the subject in “Inbound Messages” to view messages. This updated code solved my problem.

    For reference, here’s what was previously in my array:

     'flamingo_edit_contacts' => 'edit_posts',
            'flamingo_edit_contact' => 'edit_posts',
            'flamingo_delete_contact' => 'edit_posts',
            'flamingo_edit_inbound_messages' => 'edit_posts',
            'flamingo_delete_inbound_message' => 'edit_posts',
            'flamingo_delete_inbound_messages' => 'edit_posts',
            'flamingo_spam_inbound_message' => 'edit_posts',
            'flamingo_unspam_inbound_message' => 'edit_posts' );
Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘HOWTO: Provide Access to Flamingo for non-Admin users’ is closed to new replies.