Как я могу перенаправить мобильных пользователей на diff url, но также позволить им вернуться на полный сайт

это довольно прямолинейно: как перенаправить мобильных пользователей на / мобильный, но все же разрешить им нажимать кнопку «Полный сайт» и просматривать полный сайт, не перенаправляясь снова на мобильный сайт?

Я играл с кучей плагинов, которые говорят, что они делают это, но никто, кажется, не справляется со вторым шагом. Они перенаправляются на / mobile. но если пользователь хочет перейти на полный сайт, он пытается перенаправить обратно на мобильный.

Я запускаю WP3.0.1

Solutions Collecting From Web of "Как я могу перенаправить мобильных пользователей на diff url, но также позволить им вернуться на полный сайт"

function mobile_redirect() { if (isset($_COOKIE["redirected"]) && $_COOKIE["redirected"]) return; global $is_iphone; if( isset($is_iphone) && $is_iphone ) { wp_redirect( '/mobile/' ); setcookie("redirected", true); exit; } } add_action('init', 'mobile_redirect'); 

Этот код перенаправляет каждого мобильного посетителя на / mobile /, а затем устанавливает cookie, который перенаправляется пользователю. Если cookie установлен, то перенаправление не выполняется. Поэтому, если пользователь снова отправится на ваш сайт, он не будет перенаправлен на мобильный URL.

Вы также можете установить cookie, если в URL-адресе есть переменная, например /? V = desktop, а затем, если этот URL-адрес посещен, он устанавливает cookie и больше не перенаправляется.


ОБНОВИТЬ

Использование встроенной переменной $ is_iphone; Thx to Kaiser.

Btw: странное имя переменной, используемой для каждого мобильного устройства. $ is_mobile будет лучшим именем.

Я согласен с Шэном. Если вы хорошо спроектируете свою текущую тему, вы можете просто сделать ее так, чтобы мобильные устройства использовали другую таблицу стилей. Поэтому в основном вам понадобится только одна тема, всего два разных стиля.

Пример кода, используемый для изменения таблиц стилей на основе доступа к рабочему столу или мобильному устройству:

 // Function in functions.php file function is_mobile_device(){ $device = ''; if( stristr($_SERVER['HTTP_USER_AGENT'],'ipad') ) { $device = "ipad"; } else if( stristr($_SERVER['HTTP_USER_AGENT'],'iphone') || strstr($_SERVER['HTTP_USER_AGENT'],'iphone') ) { $device = "iphone"; } else if( stristr($_SERVER['HTTP_USER_AGENT'],'blackberry') ) { $device = "blackberry"; } else if( stristr($_SERVER['HTTP_USER_AGENT'],'android') ) { $device = "android"; } if( $device ) { return true; } return false; { return false; } } // Code in header.php <?php if (is_mobile_device()) { echo 'MOBILE STYLESHEET' } else { echo 'DESKTOP STYLESHEET' } ?> 

Я использую Obox Mobile на своем веб-сайте (http://clickwp.com), и он отлично работает даже с W3 Total Cache. Вы можете без проблем перейти на полный сайт.

Хотя я согласен с тем, что отзывчивая тема, вероятно, лучший способ пойти, если вы ищете простое решение. Как вы можете видеть на моем сайте, галерея камер не масштабируется. Хорошо продуманная отзывчивая тема учитывала бы это, поскольку она не полагалась на сторонний плагин для обеспечения мобильной функциональности.

При этом Obox Mobile является хорошим решением для меня, пока у меня нет времени и денег, чтобы сделать мой сайт отзывчивым. Пожалуйста, используйте мою партнерскую ссылку, если вы хотите ее купить, спасибо!

http://www.obox-design.com/premium-wordpress-themes.cfm?afId=DB7FA9B3&bannerId=40

Проверьте $is_iphone; переменная. Затем сделайте свои собственные переадресации.