WordPress.org

Ready to get started?Download WordPress

Forums

MobilePress
Mobile content is displaying on desktop site after clicking links (16 posts)

  1. ppfearn
    Member
    Posted 1 year ago #

    Hi,
    I'm trying to set up a mobile version of my site. When I enable mobilepress I have it linking to a mobile page that I set up with all the links on it.
    This part works fine on a mobile, but after I went back to the desktop site I found that the links in the menu show the mobile content and not the desktop content.
    The homepage still works fine but whenever I click a link I see the mobile content.
    As a result I have to disable mobilepress to be able to see the desktop content on a desktop machine.
    Any ideas as to why this is happening?
    Thanks

    http://wordpress.org/extend/plugins/mobilepress/

  2. Tyler Reed
    Member
    Plugin Contributor

    Posted 1 year ago #

    @ppfearn Could you perhaps share your site url? Are you using any caching plugins?

  3. ppfearn
    Member
    Posted 1 year ago #

    yeah sure it's http://www.worshipyourbody.com (although mobilepress isn't enabled atm on account of it linking to mobile content).
    Can't see any caching plugins in my list. I only seem to have a favicon plugin active on it

  4. Tyler Reed
    Member
    Plugin Contributor

    Posted 1 year ago #

    Could I please you to enable MobilePress quickly and ensure "Force Mobile" is set to "No"?

  5. ppfearn
    Member
    Posted 1 year ago #

    hmmmm, bizarre, I just activated it and set the mobile site's page (exactly as before) and it doesn't seem to be doing it now?!

    I've got mobile content through mobile and desktop content through desktop.
    I can only think that I had a caching issue on my browser from when I was viewing the /?mobile version through it??

    Just tried it in a different browser too and it's still fine.

    Anyway, thanks for you help on that one!

  6. Tyler Reed
    Member
    Plugin Contributor

    Posted 1 year ago #

    It's no problem. I'm glad you're not experiencing the issue any more.

  7. ppfearn
    Member
    Posted 1 year ago #

    I have a quick question now that it's working. I'd like to have the main desktop site display from this plugin (as in the /?nomobile) and then when the user clicks a deeper link it shows the mobile pages.
    This works currently if the user clicks the "show desktop link". But I'd like the user to be pushed straight to the /?nomobile.

    I have tried a redirect along with mobilepress so that the pages are displayed in mobile format when they go deeper but I get an error for too many redirects.

    Is there a place to for the user to go to /?nomobile or can I hack it into the plugin somewhere. I had a quick look in the edit section but I couldn't find where I needed to be.
    Thanks

  8. Tyler Reed
    Member
    Plugin Contributor

    Posted 1 year ago #

    I think I know what you're asking, however I just want to recap to make sure I'm not misunderstanding you.

    There are two kinds of users. The first kind are those who visit your site from a desktop / laptop and see the site as it has always been (eg. as /?nomobile). The second kind visit your site from a mobile device and currently see MobilePress version of your site (eg. as /?mobile).

    Do you want mobile visitors to first see the /?nomobile version and when they click through to another page or area of the site get served the /?mobile version?

    I assume visitors from a desktop / laptop should continue to see that site as it has always been (eg. as /?nomobile)?

  9. ppfearn
    Member
    Posted 1 year ago #

    Thanks for getting back.
    Currently, mobile users see the regular ?mobile. I have noticed that the ?nomobile link allows mobile users to see the main front page in the regular theme (as desktop users see it) and then when a mobile user clicks through any of the links in the menu they are taken to a mobile friendly page. This is how I would like it to work for mobile users. Unfortunately I can't find a way to force it to use the ?nomobile link so mobile users currently see the mobile home page rather than the full desktop home page that I would prefer them to see.
    I had tried to force a redirect for mobile users to ?nomobile but I received an error for too many redirects. I just wondered if there was a way to force mobilepress to go for the ?nomobile link straight away?
    So, I would like it to work like this:
    Desktop users - unaffected, straight to regular theme (as is)
    Mobile users - straight to /?nomobile version of site
    Thanks

  10. Tyler Reed
    Member
    Plugin Contributor

    Posted 1 year ago #

    Aha. I get it. Unfortunately it's not something MobilePress will support officially for a while. Let me look into it and see if I can provide you with an unofficial patch - which you will have to apply each time you update MobilePress.

    Would that be ok?

  11. ppfearn
    Member
    Posted 1 year ago #

    That sounds great. Thanks again for getting back to me

  12. ppfearn
    Member
    Posted 1 year ago #

    Did you manage to get anywhere with this?

  13. taifurbau
    Member
    Posted 1 year ago #

    when I activate this plugin ,desktop showing mobile site. I use W3 cache plugin. mobilepress version 1.2.1. Plz help me.

  14. katmac_aus
    Member
    Posted 1 year ago #

    I am experiencing the same issue. If a mobile user presses View Desktop version they get the desktop version. But then as soon as it goes to another page it then redirects them back to the mobile theme. Once they have exited mobile I need them to stay exited. I have checked the settings and I have force mobile set to no.

    ppfearn did you get a patch/solution to solve this issue?

  15. ppfearn
    Member
    Posted 1 year ago #

    No unfortunately not. I've been unable to communicate with Tyler since my last contact.
    I was going to look into it myself but I haven't had the time as yet.

  16. katmac_aus
    Member
    Posted 1 year ago #

    I managed to get it working. I found that somehow the code was resetting the mobile active sessions once you went to a new page. Its a bit 'hacky' and I am sure this can be streamlined but here is what I changed to get it working.

    In classes > core.php I replaced the public function mopr_load_site() with the following code:

    public function mopr_load_site() {
    	if ( isset( $_GET['killsession'] ) ) {
    		session_unset();
    		session_destroy();
    		$_SESSION['MOPR_MOBILE_ACTIVE']		= '';
    		$_SESSION['MOPR_MOBILE_BROWSER']	= '';
    		$_SESSION['MOPR_MOBILE_THEME']		= '';
    		$_SESSION['MOPR_MODE'] 			= '';
    	}
    
    	// Check if mobile sesison var exists
    	// Also, check if ?mobile or ?nomobile is set. If so, establish the session var so that subsequent page calls will render in the desired mode.
    	if ( ( ! isset( $_SESSION['MOPR_MOBILE_ACTIVE'] ) || ( trim( $_SESSION['MOPR_MOBILE_ACTIVE'] ) == '') ) || ( isset( $_GET['mobile'] ) ) || ( isset( $_GET['nomobile'] ) ) ) {
    		require_once( MOPR_PATH . 'classes/check.php' );
    		$mobilepress_check = new Mobilepress_check;
    		$mobilepress_check->mopr_detect_device();
    	}
    
    	if ( $_SESSION['MOPR_MOBILE_ACTIVE'] === TRUE ) {
    		// Double check session var for theme, fall back on default if any problems
    		if ( ! isset( $_SESSION['MOPR_MOBILE_THEME'] ) || ( trim( $_SESSION['MOPR_MOBILE_THEME'] ) == '') ) {
    			$_SESSION['MOPR_MOBILE_THEME'] = mopr_get_option( 'mobile_theme', 1 );
    		}
    		if( $_SESSION['MOPR_MODE'] != "exited-mobile"){
    			require_once( MOPR_PATH . 'classes/render.php' );
    			$Mobilepress_render = new Mobilepress_render();
    			$Mobilepress_render->mopr_render_theme();
    		}
    	}
    }

    And then under Classes > check.php I replace public function mopr_detect_device() with the following:

    public function mopr_detect_device() {
    
    	$nomoremobile = false;
    
    	// ?mobile will render the selected non-touch mobile theme
    	// ?nomobile renders the standard selected WordPress theme
    	if ( isset( $_GET['mobile'] ) ) {
    		$this->browser		= 'mobile';
    		$this->activated	= TRUE;
    		$this->theme		= mopr_get_option( 'mobile_theme', 1 );
    		$_SESSION['MOPR_MODE'] = "entered-mobile";
    
    	} else if ( isset( $_GET['nomobile'] ) ) {
    		$this->activated	= FALSE;
    		$nomoremobile = true;
    	} else if ( $this->is_mobile( $_SERVER['HTTP_USER_AGENT'], $_SERVER['HTTP_ACCEPT'], $_SERVER['HTTP_PROFILE'], $_SERVER['HTTP_X_WAP_PROFILE'] ) ) {
    		if ( $this->is_bot( $_SERVER['HTTP_USER_AGENT'] ) ) {
    			$this->browser		= 'mobile';
    			$this->activated	= TRUE;
    			$this->theme		= mopr_get_option( 'mobile_theme', 1 );
    		} else if ( $this->is_tablet( $_SERVER['HTTP_USER_AGENT'] ) ) {
    			$this->activated	= FALSE;
    		} else if ( $this->is_touch( $_SERVER['HTTP_USER_AGENT'] ) ) {
    			$this->browser		= 'touch';
    			$this->activated	= TRUE;
    			$this->theme		= mopr_get_option( 'mobile_theme', 1 );
    		} else {
    			$this->browser		= 'mobile';
    			$this->activated	= TRUE;
    			$this->theme		= mopr_get_option( 'mobile_theme', 1 );
    		}
    	}
    
    	if ( $_SESSION['MOPR_MOBILE_BROWSER'] != $this->browser && isset( $_SESSION['MOPR_MOBILE_BROWSER'] ) ) {
    		//session_unset();
    		//session_destroy();
    	}
    	// Reinforce no mobile
    	if ($nomoremobile) {
    		 $_SESSION['MOPR_MODE'] = "exited-mobile";
    		 $this->activated = FALSE;
    	}
    	$_SESSION['MOPR_MOBILE_BROWSER'] 	= $this->browser;
    	$_SESSION['MOPR_MOBILE_ACTIVE'] 	= $this->activated;
    	$_SESSION['MOPR_MOBILE_THEME'] 		= $this->theme;		
    
    	// Tool for forcing session to reset for testing purposes
    	if ( isset( $_GET['reset'] ) ) {
    		session_unset();
    		session_destroy();
    	}
    }

    I hope this helps someone.

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic