Fixed #114 + updates to wp_enqueue_script and style
This commit is contained in:
@@ -26,7 +26,7 @@ add_filter('get_search_query', 'roots_search_query');
|
|||||||
// thanks to Scott Walkinshaw (scottwalkinshaw.com)
|
// thanks to Scott Walkinshaw (scottwalkinshaw.com)
|
||||||
function roots_root_relative_url($input) {
|
function roots_root_relative_url($input) {
|
||||||
$output = preg_replace_callback(
|
$output = preg_replace_callback(
|
||||||
'/(https?:\/\/[^\/|"]+)([^"]+)?/',
|
'!(https?://[^/|"]+)([^"]+)?!',
|
||||||
create_function(
|
create_function(
|
||||||
'$matches',
|
'$matches',
|
||||||
// if full URL is site_url, return a slash for relative root
|
// if full URL is site_url, return a slash for relative root
|
||||||
@@ -41,11 +41,26 @@ function roots_root_relative_url($input) {
|
|||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Terrible workaround to remove the duplicate subfolder in the src of JS/CSS tags
|
||||||
|
// Example: /subfolder/subfolder/css/style.css
|
||||||
|
function roots_fix_duplicate_subfolder_urls($input) {
|
||||||
|
$output = roots_root_relative_url($input);
|
||||||
|
preg_match_all('!([^/]+)/([^/]+)!', $output, $matches);
|
||||||
|
if (isset($matches[1]) && isset($matches[2])) {
|
||||||
|
if ($matches[1][0] === $matches[2][0]) {
|
||||||
|
$output = substr($output, strlen($matches[1][0]) + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
if (!is_admin()) {
|
if (!is_admin()) {
|
||||||
add_filter('bloginfo_url', 'roots_root_relative_url');
|
add_filter('bloginfo_url', 'roots_root_relative_url');
|
||||||
add_filter('theme_root_uri', 'roots_root_relative_url');
|
add_filter('theme_root_uri', 'roots_root_relative_url');
|
||||||
add_filter('stylesheet_directory_uri', 'roots_root_relative_url');
|
add_filter('stylesheet_directory_uri', 'roots_root_relative_url');
|
||||||
add_filter('template_directory_uri', 'roots_root_relative_url');
|
add_filter('template_directory_uri', 'roots_root_relative_url');
|
||||||
|
add_filter('script_loader_src', 'roots_fix_duplicate_subfolder_urls');
|
||||||
|
add_filter('style_loader_src', 'roots_fix_duplicate_subfolder_urls');
|
||||||
add_filter('plugins_url', 'roots_root_relative_url');
|
add_filter('plugins_url', 'roots_root_relative_url');
|
||||||
add_filter('the_permalink', 'roots_root_relative_url');
|
add_filter('the_permalink', 'roots_root_relative_url');
|
||||||
add_filter('wp_list_pages', 'roots_root_relative_url');
|
add_filter('wp_list_pages', 'roots_root_relative_url');
|
||||||
@@ -125,7 +140,7 @@ function roots_remove_recent_comments_style() {
|
|||||||
|
|
||||||
// remove CSS from gallery
|
// remove CSS from gallery
|
||||||
function roots_gallery_style($css) {
|
function roots_gallery_style($css) {
|
||||||
return preg_replace("/<style type='text\/css'>(.*?)<\/style>/s", '', $css);
|
return preg_replace("!<style type='text/css'>(.*?)</style>!s", '', $css);
|
||||||
}
|
}
|
||||||
|
|
||||||
function roots_head_cleanup() {
|
function roots_head_cleanup() {
|
||||||
@@ -383,7 +398,7 @@ add_filter('comment_id_fields', 'roots_remove_self_closing_tags');
|
|||||||
// you want to change this or remove it because it's used as the description in the RSS feed
|
// you want to change this or remove it because it's used as the description in the RSS feed
|
||||||
function roots_notice_tagline() {
|
function roots_notice_tagline() {
|
||||||
echo '<div class="error">';
|
echo '<div class="error">';
|
||||||
echo '<p>' . sprintf(__('Please update your <a href="%s">site tagline</a>', 'roots'), admin_url('options-general.php')) . '</p>';
|
echo '<p>', sprintf(__('Please update your <a href="%s">site tagline</a>', 'roots'), admin_url('options-general.php')), '</p>';
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -408,4 +423,14 @@ function roots_change_mce_options($options) {
|
|||||||
|
|
||||||
add_filter('tiny_mce_before_init', 'roots_change_mce_options');
|
add_filter('tiny_mce_before_init', 'roots_change_mce_options');
|
||||||
|
|
||||||
?>
|
//clean up the default WordPress style tags
|
||||||
|
add_filter('style_loader_tag', 'roots_clean_style_tag');
|
||||||
|
|
||||||
|
function roots_clean_style_tag($input) {
|
||||||
|
preg_match_all("!<link rel='stylesheet'\s?(id='[^']+')?\s+href='(.*)' type='text/css' media='(.*)' />!", $input, $matches);
|
||||||
|
//only display media if it's print
|
||||||
|
$media = $matches[3][0] === 'print' ? ' media="print"' : '';
|
||||||
|
return '<link rel="stylesheet" href="' . $matches[2][0] . '"' . $media . '>' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
|||||||
@@ -57,6 +57,8 @@ if (stristr($_SERVER['SERVER_SOFTWARE'], 'apache') !== false) {
|
|||||||
add_filter('bloginfo', 'roots_clean_assets');
|
add_filter('bloginfo', 'roots_clean_assets');
|
||||||
add_filter('stylesheet_directory_uri', 'roots_clean_assets');
|
add_filter('stylesheet_directory_uri', 'roots_clean_assets');
|
||||||
add_filter('template_directory_uri', 'roots_clean_assets');
|
add_filter('template_directory_uri', 'roots_clean_assets');
|
||||||
|
add_filter('script_loader_src', 'roots_clean_plugins');
|
||||||
|
add_filter('style_loader_src', 'roots_clean_plugins');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user