php - Appending URL parameter at every request only if parameter already exists to save opt-out option responsive design -
i have responsive wordpress site: www.2eenheid.de. client wants option on mobile view site in fullsize, opt-out responsive option. now, found solution:
http://css-tricks.com/user-opt-out-responsive-design/
which uses php remove meta name="viewport" tag when url parameter ?resp=no (url becomes: www.2eenheid.de/?resp=no) called. removing meta name="viewport" tag site becomes fullsize on mobile. see code below:
<head> <title>my cool site huzzah</title> <?php if (!$_get['resp'] == 'no') { ?> <meta name="viewport" content="width=device-width"> <?php } ?> </head> <body class="<?php if (!$_get['resp'] == 'no') { echo "resp"; } ?>"> this changes current page fullsize, if click different link changes responsive, logical because link doesn't contain parameter ?resp=no anymore.
now client has requirement if user wants fullsize website, needs stay fullsize after clicking different url until user changes responsive.
so question how can save ?resp=no parameter once clicked every url request, until user changes responsive e.g. clicking different link (maybe different parameter)?
i've tried googling can't find solutions. i've seen people suggesting session values find hard understand , people thats not practice because session values used logins.
any highly appreciated.
edit 3: suggestion below seems good, i'm quite new php sessions. changed code suggestion below this:
<?php ini_set('display_errors', true); session_start(); if(isset($_request['resp'])) { $_session['resp'] = boolval($_request['resp']); } // check if enabled $enabled = isset($_session['resp']) && $_session['resp']; ?><!doctype html> <html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo( 'charset' ); ?>" /> <?php if($enabled): ?> <meta name="viewport" content="width=device-width"> <?php endif; ?> <title>lalala</title> </head> <body <?php body_class(); ?> id="<?php if(isset($_session['resp']) && $_session['resp']) { echo "resp"; } ?>"> can this?
session_start(); // ... if(isset($_request['resp'])) { $_session['resp'] = boolval($_request['resp']); } and :
<?php if(isset($_session['resp']) && $_session['resp']): ?> <meta name="viewport" content="width=device-width"> <?php endif; ?> you use cookies said in comment, never looked how works.
edit : example :
<?php // if parameter in url, enable/disable (else leave is). if(isset($_request['enablemode'])) { $_session['enablemode'] = boolval($_request['enablemode']); } // check if enabled $enabled = isset($_session['enablemode']) && $_session['enablemode']; ?> <?php if($enabled): ?> <meta name="viewport" content="width=device-width"> <?php endif; ?> <a href="index.php?enablemode=1">enable mode</a> <a href="index.php?enablemode=0">disable mode</a> <a href="index.php">change page without changing anything</a>
Comments
Post a Comment