Wow after an hour of searching I think I finally found something useful…
WordPress Version: 3.0.1
Core File: wp-includes/link-template.php
Lines: 1840-1872 (for me at least)
/**
* Retrieve the home url for a given site.
*
* Returns the 'home' option with the appropriate protocol, 'https' if
* is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
* overridden.
*
* @package WordPress
* @since 3.0.0
*
* @param int $blog_id (optional) Blog ID. Defaults to current blog.
* @param string $path (optional) Path relative to the home url.
* @param string $scheme (optional) Scheme to give the home url context. Currently 'http','https'
* @return string Home url link with optional path appended.
*/
function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
$orig_scheme = $scheme;
if ( !in_array( $scheme, array( 'http', 'https' ) ) )
$scheme = is_ssl() && !is_admin() ? 'https' : 'http';
if ( empty( $blog_id ) || !is_multisite() )
$home = get_option( 'home' );
else
$home = get_blog_option( $blog_id, 'home' );
$url = str_replace( 'https://', "$scheme://", $home );
if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
$url .= '/' . ltrim( $path, '/' );
return apply_filters( 'home_url', $url, $path, $orig_scheme, $blog_id );
}
I don’t know what the hell I’m doing really… but I just changed the following:
$scheme = is_ssl() && !is_admin() ? 'https' : 'http';
to
$scheme = is_ssl() && !is_admin() ? 'http' : 'http';
And it seemed to revert back to the standard behavior… I’m more than sure there is a better way to work around this… maybe using some sort of filter in functions.php… I’m just not at all sure where to start with something like that.