2015-05-22 1 views
0

У меня есть сайт Wordpress и вы хотите показать указанный контент пользователю, у которого есть указанный User-agent. Вот что я сделал:Проверьте, что пользовательский агент показывает только указанное содержимое в Wordpress

<?php 
$user_agent = $_SERVER['HTTP_USER_AGENT']; 
if (strpos($user_agent, 'CostumizedAgent') !== false) 
{ 
echo "<html><body>Show Only this codes</body></html> 
} 
else 
{ 
// Show normal website 
} 
?> 

В условиях, когда агент пользователя не содержит CostumizedAgent слова, нормальный сайт будет показан пользователю (обычный веб-сайт WordPress), но если содержит слово CostumizedAgent это будет только эхо-код для пользователя. Я использую это, чтобы создать простой секретный контент! (Я знаю, что это не так, как должно быть сделано: D)

Итак, что мне делать? Какие коды я должен положить в else месте? Где я должен поместить все коды в работу? (на всех страницах сайта)

ответ

4

Лучший способ сделать это - создать отдельную тему для вашего другого пользовательского агента. Предполагая, что вы хотите создать мобильную версию сайта, это то, что вы должны поставить в functions.php вашего рабочего стола (по умолчанию) тему:

function change_theme($current_theme) { 
    $user_agent = $_SERVER['HTTP_USER_AGENT']; 
    if(strpos($user_agent, 'CostumizedAgent') !== false) { 
     return 'mobile-theme'; 
    } else { 
     return $current_theme; 
    } 
} 
add_filter('stylesheet', 'change_theme'); 
add_filter('template', 'change_theme'); 

Это programmaticaly изменить тему на основе агента пользователя , и сообщите Wordpress, чтобы использовать тему mobile-theme, если условие пользовательского агента выполнено.

+1

Спасибо. но нет ли более простого метода? потому что я не хочу создавать новую тему и не устанавливать ее. Я просто хочу показать один HTML-код! – Bablod

+0

Ну, если вы хотите, чтобы все содержимое было заменено вашей линией, мне кажется, что это лучший метод. Создание новой темы занимает всего несколько минут, но если вы хотите, вы также можете отредактировать свой заголовок.php, поместите свое условие в начало и выход после того, как вы отобразите свою линию для мобильных устройств. – vard

Смежные вопросы