User based node saving
How can i hide "Save and Publish" button to editor role only?


You can use two ways. 


Simple ways. Enable module Content Moderation in core and set permission by roles.
Use function hook_form_node_form_alter()



global $user;

if (in_array('editor',$user-&gt;roles)){
   $node-&gt;status = FALSE;
}



Drupal 8 have some different. Global user replace by
\Drupal::currentUser()

and $user->roles replace by 

\Drupal::currentUser()-&gt;getRoles()