require_once wordpress error with plugins_url

Solution:1

Try use plugin_dir_path( __FILE__ ):

class Maintenance {

public function init()
{
add_action( ‘wp_loaded’, array($this, ‘maintenance_mode’) );
//add_action( ‘admin_init’, array($this, ‘maintenance_settings’) );
}

public function maintenance_mode()
{
global $pagenow;
if( $pagenow !== ‘wp-login.php’ && !current_user_can(‘manage_options’) && !is_admin() ){
header( $_SERVER[‘SERVER_PROTOCOL’] . ‘503 Service Temporarily Unavailable’, true, 503 );
header( ‘Content-Type: text/html; charset=utf-8’ );
require_once plugin_dir_path( __FILE__ ) . ‘assets/maintenance.php’;
}
die();
}
}

Solution:2

You can use:

require_once dirname( __FILE__ ) . ‘/assets/maintenance.php’
instead of

require_once plugins_url(‘assets/maintenance.php’ ,__FILE__);