You could try removing the 'submitdiv'
metabox and re-adding it with a low priority this way:
function benny_default_position_publish_box() {
remove_meta_box( 'submitdiv', 'post', 'side' );
remove_meta_box( 'submitdiv', 'page', 'side' );
//remove_meta_box( 'submitdiv', 'cpt', 'side' );
add_meta_box( 'submitdiv', __( 'Publish' ), 'post_submit_meta_box', 'post', 'side', 'low' );
add_meta_box( 'submitdiv', __( 'Publish' ), 'post_submit_meta_box', 'page', 'side', 'low' );
//add_meta_box( 'submitdiv', __( 'Publish' ), 'post_submit_meta_box', 'cpt', 'side', 'low' );
}
add_action( 'do_meta_boxes', 'benny_default_position_publish_box' );
But if it doesn’t work and you only need it for mobile, you could try setting the user options for sorting the metabox like this:
function benny_user_option_box_position( $order ) {
if ( wp_is_mobile() ) {
return array(
'normal' => join( ",", array(
'postexcerpt',
'formatdiv',
'trackbacksdiv',
'tagsdiv-post_tag',
'categorydiv',
'postimagediv',
'postcustom',
'commentstatusdiv',
'slugdiv',
'authordiv',
'submitdiv', // <- keep it last
) ),
'side' => '',
'advanced' => '',
);
} else {
return $order;
}
}
add_filter( 'get_user_option_meta-box-order_post', 'benny_user_option_box_position' );
add_filter( 'get_user_option_meta-box-order_page', 'benny_user_option_box_position' );
//add_filter( 'get_user_option_meta-box-order_cpt', 'benny_user_option_box_position' );
I haven’t tested it but theoretically it should work