• When you use domain mapping and you have plugins in mu-plugins that use plugins_url, the domain in the resulting URLs is broken. It’s a fairly simple patch to check if the URL is in PLUGINDIR or MUPLUGINDIR.

    Index: wp-content/plugins/wordpress-mu-domain-mapping/domain_mapping.php
    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
    ===================================================================
    --- wp-content/plugins/wordpress-mu-domain-mapping/domain_mapping.php	(revision c713883ec020385fe13a9c44c6d1da7b90ab62a9)
    +++ wp-content/plugins/wordpress-mu-domain-mapping/domain_mapping.php	(revision )
    @@ -139,9 +139,6 @@
     		wp_die( sprintf( __( "<strong>Warning!</strong> This plugin will only work if WordPress is installed in the root directory of your webserver. It is currently installed in ’%s’.", "wordpress-mu-domain-mapping" ), $current_site->path ) );
     	}
    
    -	switch( $_POST[ 'action' ] ) {
    -		default:
    -	}
     	echo '<h2>' . __( 'Domain Mapping: Domains', 'wordpress-mu-domain-mapping' ) . '</h2>';
     	if ( !empty( $_POST[ 'action' ] ) ) {
     		check_admin_referer( 'domain_mapping' );
    @@ -302,10 +299,10 @@
     				update_site_option( 'dm_cname', stripslashes( $_POST[ 'cname' ] ) );
     			else
     				update_site_option( 'dm_cname', '' );
    -			update_site_option( 'dm_301_redirect', intval( $_POST[ 'permanent_redirect' ] ) );
    -			update_site_option( 'dm_redirect_admin', intval( $_POST[ 'always_redirect_admin' ] ) );
    -			update_site_option( 'dm_user_settings', intval( $_POST[ 'dm_user_settings' ] ) );
    -			update_site_option( 'dm_no_primary_domain', intval( $_POST[ 'dm_no_primary_domain' ] ) );
    +			update_site_option( 'dm_301_redirect', empty($_POST[ 'permanent_redirect' ])?0:intval( $_POST[ 'permanent_redirect' ] ) );
    +			update_site_option( 'dm_redirect_admin', empty($_POST[ 'always_redirect_admin' ])?0:intval( $_POST[ 'always_redirect_admin' ] ) );
    +			update_site_option( 'dm_user_settings', empty($_POST[ 'dm_user_settings' ])?0:intval( $_POST[ 'dm_user_settings' ] ) );
    +			update_site_option( 'dm_no_primary_domain', empty($_POST[ 'dm_no_primary_domain' ])?0:intval( $_POST[ 'dm_no_primary_domain' ] ) );
     		}
     	}
    
    @@ -656,7 +653,12 @@
    
     // fixes the plugins_url
     function domain_mapping_plugins_uri( $full_url, $path=NULL, $plugin=NULL ) {
    +	if ( strpos($full_url, PLUGINDIR) !== FALSE ) {
    -	return get_option( 'siteurl' ) . substr( $full_url, stripos( $full_url, PLUGINDIR ) - 1 );
    +		return get_option( 'siteurl' ) . substr( $full_url, stripos( $full_url, PLUGINDIR ) - 1 );
    +	} elseif ( strpos($full_url, MUPLUGINDIR) !== FALSE ) {
    +		return get_option( 'siteurl' ) . substr( $full_url, stripos( $full_url, MUPLUGINDIR ) - 1 );
    +	}
    +	return $full_url;
     }
    
     function domain_mapping_themes_uri( $full_url ) {

    https://www.ads-software.com/extend/plugins/wordpress-mu-domain-mapping/

  • The topic ‘[Plugin: WordPress MU Domain Mapping] Error with plugins in mu-plugins’ is closed to new replies.