Esempio n. 1
0
/**
 * Root relative URLs
 *
 * WordPress likes to use absolute URLs on everything - let's clean that up.
 * Inspired by http://www.456bereastreet.com/archive/201010/how_to_make_wordpress_urls_root_relative/
 *
 * You can enable/disable this feature in config.php:
 * current_theme_supports('root-relative-urls');
 *
 * @author Scott Walkinshaw <*****@*****.**>
 */
function i4web_root_relative_url($input)
{
    preg_match('|https?://([^/]+)(/.*)|i', $input, $matches);
    if (!isset($matches[1]) || !isset($matches[2])) {
        return $input;
    } elseif ($matches[1] === $_SERVER['SERVER_NAME'] || $matches[1] === $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT']) {
        return wp_make_link_relative($input);
    } else {
        return $input;
    }
}
function i4web_enable_root_relative_urls()
{
    return !(is_admin() || in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'))) && current_theme_supports('root-relative-urls');
}
if (i4web_enable_root_relative_urls()) {
    $root_rel_filters = array('bloginfo_url', 'the_permalink', 'wp_list_pages', 'wp_list_categories', 'i4web_wp_nav_menu_item', 'the_content_more_link', 'the_tags', 'get_pagenum_link', 'get_comment_link', 'month_link', 'day_link', 'year_link', 'tag_link', 'the_author_posts_link', 'script_loader_src', 'style_loader_src');
    add_filters($root_rel_filters, 'i4web_root_relative_url');
}
Esempio n. 2
0
    $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;
}
function roots_enable_root_relative_urls()
{
    return !(is_admin() && in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'))) && current_theme_supports('root-relative-urls');
}
if (roots_enable_root_relative_urls()) {
    $root_rel_filters = array('bloginfo_url', 'theme_root_uri', 'stylesheet_directory_uri', 'template_directory_uri', 'plugins_url', 'the_permalink', 'wp_list_pages', 'wp_list_categories', 'wp_nav_menu', 'the_content_more_link', 'the_tags', 'get_pagenum_link', 'get_comment_link', 'month_link', 'day_link', 'year_link', 'tag_link', 'the_author_posts_link');
    add_filters($root_rel_filters, 'roots_root_relative_url');
    add_filter('script_loader_src', 'roots_fix_duplicate_subfolder_urls');
    add_filter('style_loader_src', 'roots_fix_duplicate_subfolder_urls');
}
/**
 * Wrap embedded media as suggested by Readability
 *
 * @link https://gist.github.com/965956
 * @link http://www.readability.com/publishers/guidelines#publisher
 */
function roots_embed_wrap($cache, $url, $attr = '', $post_ID = '')
{
    return '<div class="entry-content-asset">' . $cache . '</div>';
}
add_filter('embed_oembed_html', 'roots_embed_wrap', 10, 4);
add_filter('embed_googlevideo', 'roots_embed_wrap', 10, 2);
Esempio n. 3
0
    'the_permalink',
    'wp_list_pages',
    'wp_list_categories',
    'wp_nav_menu',
    'the_content_more_link',
    'the_tags',
    'get_pagenum_link',
    'get_comment_link',
    'month_link',
    'day_link',
    'year_link',
    'tag_link',
    'the_author_posts_link'
  );

  add_filters($tags, 'roots_root_relative_url');

  add_filter('script_loader_src', 'roots_fix_duplicate_subfolder_urls');
  add_filter('style_loader_src', 'roots_fix_duplicate_subfolder_urls');
}

// remove root relative URLs on any attachments in the feed
function roots_root_relative_attachment_urls() {
  if (!is_feed()) {
    add_filter('wp_get_attachment_url', 'roots_root_relative_url');
    add_filter('wp_get_attachment_link', 'roots_root_relative_url');
  }
}

add_action('pre_get_posts', 'roots_root_relative_attachment_urls');
Esempio n. 4
0
 * WordPress likes to use absolute URLs on everything - let's clean that up.
 * Inspired by http://www.456bereastreet.com/archive/201010/how_to_make_wordpress_urls_root_relative/
 *
 * You can enable/disable this feature in functions.php (or lib/config.php if you're using Roots):
 * add_theme_support('soil-relative-urls');
 */
function soil_root_relative_url($input)
{
    preg_match('|https?://([^/]+)(/.*)|i', $input, $matches);
    if (!isset($matches[1]) || !isset($matches[2])) {
        return $input;
    } elseif ($matches[1] === $_SERVER['SERVER_NAME'] || $matches[1] === $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT']) {
        return wp_make_link_relative($input);
    } else {
        return $input;
    }
}
function soil_enable_root_relative_urls()
{
    return !(is_admin() || in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php')));
}
if (soil_enable_root_relative_urls()) {
    $root_rel_filters = array('bloginfo_url', 'the_permalink', 'wp_list_pages', 'wp_list_categories', 'soil_wp_nav_menu_item', 'the_content_more_link', 'the_tags', 'get_pagenum_link', 'get_comment_link', 'month_link', 'day_link', 'year_link', 'tag_link', 'the_author_posts_link', 'script_loader_src', 'style_loader_src');
    add_filters($root_rel_filters, 'soil_root_relative_url');
}
function add_filters($tags, $function)
{
    foreach ($tags as $tag) {
        add_filter($tag, $function);
    }
}
Esempio n. 5
0
	function add_actions($tags, $function_to_add, $priority = 10, $accepted_args = 1) {
		return add_filters($tags, $function_to_add, $priority, $accepted_args);
	}
Esempio n. 6
0
 *   /wp-content/themes/themename/img/ to /img/
 *   /wp-content/plugins/              to /plugins/
 *
 * If you aren't using Apache, alternate configuration settings can be found in the docs.
 *
 * @link https://github.com/retlehs/roots/blob/master/doc/rewrites.md
 */
function roots_add_rewrites($content)
{
    global $wp_rewrite;
    $roots_new_non_wp_rules = array('assets/css/(.*)' => THEME_PATH . '/assets/css/$1', 'assets/js/(.*)' => THEME_PATH . '/assets/js/$1', 'assets/img/(.*)' => THEME_PATH . '/assets/img/$1', 'plugins/(.*)' => RELATIVE_PLUGIN_PATH . '/$1');
    $wp_rewrite->non_wp_rules = array_merge($wp_rewrite->non_wp_rules, $roots_new_non_wp_rules);
    return $content;
}
function roots_clean_urls($content)
{
    if (strpos($content, RELATIVE_PLUGIN_PATH) > 0) {
        return str_replace('/' . RELATIVE_PLUGIN_PATH, '/plugins', $content);
    } else {
        return str_replace('/' . THEME_PATH, '', $content);
    }
}
if (!is_multisite() && !is_child_theme()) {
    if (current_theme_supports('rewrites')) {
        add_action('generate_rewrite_rules', 'roots_add_rewrites');
    }
    if (!is_admin() && current_theme_supports('rewrites')) {
        $tags = array('plugins_url', 'bloginfo', 'stylesheet_directory_uri', 'template_directory_uri', 'script_loader_src', 'style_loader_src');
        add_filters($tags, 'roots_clean_urls');
    }
}
Esempio n. 7
0
 *   /wp-content/themes/themename/img/ to /img/
 *   /wp-content/plugins/              to /plugins/
 *
 * If you aren't using Apache, alternate configuration settings can be found in the docs.
 *
 * @link https://github.com/retlehs/roots/blob/master/doc/rewrites.md
 */
function ya_add_rewrites($content)
{
    global $ya_rewrite;
    $ya_new_non_wp_rules = array('css/(.*)' => THEME_PATH . '/css/$1', 'js/(.*)' => THEME_PATH . '/js/$1', 'assets/img/(.*)' => THEME_PATH . '/assets/img/$1', 'assets/font/(.*)' => THEME_PATH . '/assets/font/$1', 'plugins/(.*)' => RELATIVE_PLUGIN_PATH . '/$1');
    $ya_rewrite->non_wp_rules = array_merge($ya_rewrite->non_wp_rules, $ya_new_non_wp_rules);
    return $content;
}
function ya_clean_urls($content)
{
    if (strpos($content, FULL_RELATIVE_PLUGIN_PATH) === 0) {
        return str_replace(FULL_RELATIVE_PLUGIN_PATH, WP_BASE . '/plugins', $content);
    } else {
        return str_replace('/' . THEME_PATH, '', $content);
    }
}
if (!is_multisite() && !is_child_theme() && get_option('permalink_structure')) {
    if (current_theme_supports('rewrites')) {
        add_action('generate_rewrite_rules', 'ya_add_rewrites');
    }
    if (!is_admin() && current_theme_supports('rewrites')) {
        $tags = array('plugins_url', 'bloginfo', 'stylesheet_directory_uri', 'template_directory_uri', 'script_loader_src', 'style_loader_src');
        add_filters($tags, 'ya_clean_urls');
    }
}
<?php

/**
 * Root relative URLs
 *
 * WordPress likes to use absolute URLs on everything - let's clean that up.
 * Inspired by http://www.456bereastreet.com/archive/201010/how_to_make_wordpress_urls_root_relative/
 *
 * You can enable/disable this feature in config.php:
 * current_theme_supports('root-relative-urls');
 *
 * @author Scott Walkinshaw <*****@*****.**>
 */
function spring_root_relative_url($input)
{
    preg_match('|https?://([^/]+)(/.*)|i', $input, $matches);
    if (isset($matches[1]) && isset($matches[2]) && $matches[1] === $_SERVER['SERVER_NAME']) {
        return wp_make_link_relative($input);
    } else {
        return $input;
    }
}
function spring_enable_root_relative_urls()
{
    return !(is_admin() || in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'))) && current_theme_supports('root-relative-urls');
}
if (spring_enable_root_relative_urls()) {
    $root_rel_filters = array('bloginfo_url', 'the_permalink', 'wp_list_pages', 'wp_list_categories', 'spring_wp_nav_menu_item', 'the_content_more_link', 'the_tags', 'get_pagenum_link', 'get_comment_link', 'month_link', 'day_link', 'year_link', 'tag_link', 'the_author_posts_link', 'script_loader_src', 'style_loader_src');
    add_filters($root_rel_filters, 'spring_root_relative_url');
}
Esempio n. 9
0
    $output = shoestrap_root_relative_url($input);
    preg_match_all('!([^/]+)/([^/]+)!', $output, $matches);
    if (isset($matches[1][0]) && isset($matches[2][0])) {
        if ($matches[1][0] === $matches[2][0]) {
            $output = substr($output, strlen($matches[1][0]) + 1);
        }
    }
    return $output;
}
function shoestrap_enable_root_relative_urls()
{
    return !(is_admin() && in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'))) && current_theme_supports('root-relative-urls');
}
if (shoestrap_enable_root_relative_urls()) {
    $root_rel_filters = array('bloginfo_url', 'theme_root_uri', 'stylesheet_directory_uri', 'template_directory_uri', 'plugins_url', 'the_permalink', 'wp_list_pages', 'wp_list_categories', 'wp_nav_menu', 'the_content_more_link', 'the_tags', 'get_pagenum_link', 'get_comment_link', 'month_link', 'day_link', 'year_link', 'tag_link', 'the_author_posts_link');
    add_filters($root_rel_filters, 'shoestrap_root_relative_url');
    add_filter('script_loader_src', 'shoestrap_fix_duplicate_subfolder_urls');
    add_filter('style_loader_src', 'shoestrap_fix_duplicate_subfolder_urls');
}
/**
 * Wrap embedded media as suggested by Readability
 *
 * @link https://gist.github.com/965956
 * @link http://www.readability.com/publishers/guidelines#publisher
 */
function shoestrap_embed_wrap($cache, $url, $attr = '', $post_ID = '')
{
    return '<div class="entry-content-asset">' . $cache . '</div>';
}
add_filter('embed_oembed_html', 'shoestrap_embed_wrap', 10, 4);
add_filter('embed_googlevideo', 'shoestrap_embed_wrap', 10, 2);
Esempio n. 10
0
     if (strpos($content, FULL_RELATIVE_PLUGIN_PATH) === 0) {
         return str_replace(FULL_RELATIVE_PLUGIN_PATH, WP_BASE . '/plugins', $content);
     } else {
         return str_replace('/' . THEME_PATH, '', $content);
     }
 }
 if (!is_multisite() && !is_child_theme() && get_option('permalink_structure')) {
     if (current_theme_supports('rewrite-urls')) {
         add_action('generate_rewrite_rules', 'shoestrap_add_rewrites');
     }
     if (current_theme_supports('h5bp-htaccess')) {
         add_action('generate_rewrite_rules', 'shoestrap_add_h5bp_htaccess');
     }
     if (!is_admin() && current_theme_supports('rewrite-urls')) {
         $tags = array('plugins_url', 'bloginfo', 'stylesheet_directory_uri', 'template_directory_uri', 'script_loader_src', 'style_loader_src');
         add_filters($tags, 'shoestrap_clean_urls');
     }
 }
 // Add the contents of h5bp-htaccess into the .htaccess file
 function shoestrap_add_h5bp_htaccess($content)
 {
     global $wp_rewrite;
     $home_path = function_exists('get_home_path') ? get_home_path() : ABSPATH;
     $htaccess_file = $home_path . '.htaccess';
     $mod_rewrite_enabled = function_exists('got_mod_rewrite') ? got_mod_rewrite() : false;
     if (!file_exists($htaccess_file) && is_writable($home_path) && $wp_rewrite->using_mod_rewrite_permalinks() || is_writable($htaccess_file)) {
         if ($mod_rewrite_enabled) {
             $h5bp_rules = extract_from_markers($htaccess_file, 'HTML5 Boilerplate');
             if ($h5bp_rules === array()) {
                 $filename = dirname(__FILE__) . '/h5bp-htaccess';
                 return insert_with_markers($htaccess_file, 'HTML5 Boilerplate', extract_from_markers($filename, 'HTML5 Boilerplate'));
Esempio n. 11
0
<?php

/**
 * Root relative URLs
 *
 * WordPress likes to use absolute URLs on everything - let's clean that up.
 * Inspired by http://www.456bereastreet.com/archive/201010/how_to_make_wordpress_urls_root_relative/
 *
 * You can enable/disable this feature in config.php:
 * current_theme_supports('alfath-relative-urls');
 *
 * @author Scott Walkinshaw <*****@*****.**>
 */
function alfath_root_relative_url($input)
{
    preg_match('|https?://([^/]+)(/.*)|i', $input, $matches);
    if (isset($matches[1]) && isset($matches[2]) && $matches[1] === $_SERVER['SERVER_NAME']) {
        return wp_make_link_relative($input);
    } else {
        return $input;
    }
}
function alfath_enable_root_relative_urls()
{
    return !(is_admin() || in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'))) && current_theme_supports('alfath-relative-urls');
}
if (alfath_enable_root_relative_urls()) {
    $root_rel_filters = array('bloginfo_url', 'the_permalink', 'wp_list_pages', 'wp_list_categories', 'alfath_wp_nav_menu_item', 'the_content_more_link', 'the_tags', 'get_pagenum_link', 'get_comment_link', 'month_link', 'day_link', 'year_link', 'tag_link', 'the_author_posts_link', 'script_loader_src', 'style_loader_src');
    add_filters($root_rel_filters, 'alfath_root_relative_url');
}