/** * The only "layout" needed in the case of the WP admin is to wrap the page * content with the wpWrap() view helper, which applies some basic structure * to WP admin pages and wraps everything in the .bootstrap-wrapper class so * that bootstrap styles can work without conflicting with WP styles. * * @param string $content * @param HeadScript $headScript * @param HeadLink $headLink * @return string */ public function renderLayout($content, HeadScript $headScript = null, HeadLink $headLink = null) { global $wp_version; $view = new View(); $output = $view->wpWrap()->open(); $output .= $content; $output .= $view->wpWrap()->close(); foreach ($headScript as $script) { // We're prefixing the name here so we don't conflict with WP names wp_enqueue_script('dewdrop-' . basename($script->attributes['src'], '.js'), $script->attributes['src'], [], $wp_version, true); } foreach ($headLink as $link) { if ('stylesheet' === $link->rel) { wp_enqueue_style('dewdrop-' . basename($link->href, '.css'), $link->href); } } return $output; }