Динамически меняйте URL или тему WordPress, если UserAgent это iPhone - PullRequest
2 голосов
/ 30 августа 2009

Есть ли способ сделать это?

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

Мои варианты - определить, использует ли пользователь iphone, и если они либо

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

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

Есть идеи?

Ответы [ 5 ]

12 голосов
/ 09 июня 2011

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;
}
3 голосов
/ 30 августа 2009

Вы смотрели на iWPhone ?

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

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

2 голосов
/ 20 августа 2010

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

http://code.kuederle.com/browserbasedthemes

0 голосов
/ 30 августа 2009

Из коробки нельзя делать ни A, ни B.

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

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

0 голосов
/ 30 августа 2009

У меня нет опыта работы с WordPress, но плагин iWPhone + тема выглядит так, как будто он может работать

...