Disable “quick edit” only for non admin in functions.php

I have this in my functions.php

function remove_quick_edit( $actions ) {
    unset($actions['inline hide-if-no-js']);
    return $actions;
}
add_filter('post_row_actions','remove_quick_edit',10,1);

to remove the quick edit link in the backend when scrolling the list of published posts.

Read More

It works like a charm but it disable it even for the admin role.
Is it possible to keep it showing only for the admin while still diabling for the rest?
Thanks!

SOLVED thanks to jfacemyer!
This is the full code to add in functions.php

function remove_quick_edit( $actions ) {
    unset($actions['inline hide-if-no-js']);
    return $actions;
}
if ( ! current_user_can('manage_options') ) {
    add_filter('post_row_actions','remove_quick_edit',10,1);
}

Related posts

Leave a Reply

4 comments

  1. Here is the code if you wish to remove the Quick Edit option from Pages as well:

    function remove_quick_edit( $actions ) {
        unset($actions['inline hide-if-no-js']);
        return $actions;
    }
    if ( !current_user_can('manage_options') ) {
        add_filter('page_row_actions','remove_quick_edit',10,1);
        add_filter('post_row_actions','remove_quick_edit',10,1);
    }
    
  2. At least in WP 4.3.1 it is possible to use role name in current_user_can(). So the code may now look like this:

    function remove_quick_edit( $actions ) {
      unset($actions['inline hide-if-no-js']);
      return $actions;
    }
    if ( !current_user_can('administrator') ) {
      add_filter('post_row_actions','remove_quick_edit',10,1);
    }
    

    Cleaner and more intuitive.

  3. Include this in your function.php

    add_action('admin_head', 'wc_my_custom_css');
    function wc_my_custom_css() {
         echo '<style>
                   .hide-if-no-js {
                      display:none !important;
                   }
              </style>';
    }