Динамически меняйте URL или тему WordPress, если UserAgent это iPhone
Есть какой-либо способ сделать это?
Мой сайт http://kennethreitz.com/. Его движет умеренный PHP поверх Wordpress.
Мои варианты, чтобы определить, использует ли пользователь iphone, и если они либо
а) сказать WordPress, чтобы загрузить другую "тему", которую я написал. б) если это невозможно, используйте другую установку WordPress на поддомене (i.kennethreitz.com), которая работает из той же базы данных, которая использует другую тему.
Я предпочел бы сделать A по причинам SEO.
Есть идеи?
5 ответов
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;
}
Вы смотрели на iWPhone?
Это плагин и тема Wordpress, которые автоматически определяют, пришел ли посетитель с iPhone, и соответствующим образом форматируют его. Довольно легко заменить свой собственный iPhone CSS, если вы хотите, хотя основная тема довольно приличная.
Есть также WPTouch, который выглядит похожим по функциональности, но немного новее и имеет лучшую интеграцию с администрацией.
Вот плагин Wordpress, который обслуживает разные темы для разных браузеров (например, iPhone):
У меня нет опыта работы с WordPress, но тема iWPhone plugin + выглядит так, как будто она может работать
Из коробки вы не можете сделать ни A, ни B.
Загрузка другой темы невозможна, так как эта опция хранится в базе данных под таблицей wp_Options. Этот параметр распространяется на весь сайт, а не на пользователя. Вариант B также не вариант, так как вы будете использовать ту же базу данных, что и для темы.
Если вы посмотрите в таблицу wp_options, настройка темы будет найдена в записи, которая соответствует "шаблону" и "таблице стилей".