Динамически изменять URL-адрес или тему WordPress, если пользовательским агентом является iPhone
-
20-09-2019 - |
Вопрос
Есть ли какой-нибудь способ сделать это?
Мой веб-сайт - это 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):
У меня нет опыта работы с WordPress, но Плагин iWPhone + тема похоже, это может сработать
Из коробки вы не можете сделать ни A, ни B.
Загрузка другой темы невозможна, поскольку эта опция хранится в базе данных в таблице wp_Options.Этот параметр применяется для всего сайта, а не для каждого пользователя.Вариант B также не является вариантом, поскольку вы будете использовать одну и ту же базу данных, вы будете выбирать одно и то же значение для темы.
Если вы посмотрите в таблицу wp_options, настройка темы будет найдена в записи, соответствующей "шаблону" и "таблице стилей".