Динамически изменять URL-адрес или тему WordPress, если пользовательским агентом является iPhone

StackOverflow https://stackoverflow.com/questions/1353007

Вопрос

Есть ли какой-нибудь способ сделать это?

Мой веб-сайт - это http://kennethreitz.com.Его движет какой-то умеренный PHP поверх Wordpress.

Мои варианты заключаются в том, чтобы определить, использует ли пользователь iphone, и если они либо

a) скажите wordpress загрузить другую "тему", которую я написал.б) если это невозможно, установите другой wordpress на поддомен (i.kennethreitz.com), который работает из той же базы данных, но использует другую тему.

Я бы предпочел иметь возможность сделать A по соображениям SEO.

Есть какие-нибудь идеи?

Это было полезно?

Решение

http://www.nathanrice.net/blog/serve-ie6-visitors-the-default-wordpress-theme/ демонстрирует, как использовать шаблон фильтр для динамического изменения темы WordPress (в данном случае IE6, но это может быть для мобильного пользовательского агента):

add_filter('template', 'serve_default_to_iesix');
add_filter('option_template', 'serve_default_to_iesix');
add_filter('option_stylesheet', 'serve_default_to_iesix');

function serve_default_to_iesix($theme) {
    if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6') !== false)
        $theme = 'default';
    return $theme;
}

Другие советы

Вы смотрели на Ивфон?

Это плагин и тема Wordpress, которая автоматически определяет, является ли посетитель с iPhone, и соответствующим образом форматирует данные.Довольно легко заменить свой собственный пользовательский CSS для iPhone, если хотите, хотя базовая тема довольно приличная.

Есть также WPtouch - сенсорный который выглядит похожим по функциональности, но является немного более новым и имеет лучшую интеграцию с администрированием.

Вот плагин Wordpress, который обслуживает разные темы для разных браузеров (напримерiPhone):

http://code.kuederle.com/browserbasedthemes

У меня нет опыта работы с WordPress, но Плагин iWPhone + тема похоже, это может сработать

Из коробки вы не можете сделать ни A, ни B.

Загрузка другой темы невозможна, поскольку эта опция хранится в базе данных в таблице wp_Options.Этот параметр применяется для всего сайта, а не для каждого пользователя.Вариант B также не является вариантом, поскольку вы будете использовать одну и ту же базу данных, вы будете выбирать одно и то же значение для темы.

Если вы посмотрите в таблицу wp_options, настройка темы будет найдена в записи, соответствующей "шаблону" и "таблице стилей".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top