Если вы используете рекламу Google AdSense, то для создания постоянным посетителям всевозможных бонусов, можно сделать одну хитрую штуку — показывать эту рекламу только тем, кто пришел на сайт из поисковой системы, а постоянным пользователям, зашедшим из ссылки в избранном, не показывать. Оказывается, это можно сделать, не прибегая вообще ни к каким плагинам.
Вставьте в файл functions.php такой код:
function scratch99_fromasearchengine(){ $ref = $_SERVER['HTTP_REFERER']; $SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.'); foreach ($SE as $source) { if (strpos($ref,$source)!==false) return true; } return false; }
Этим кодом мы создаем функцию, которая определяет, откуда пришел посетитель, и для тех, кто пришел с сайтов, обозначенных в этом коде, создает определенные условия для отображения блока с рекламой. Теперь осталось этот блок вывести. Для этого вставляем в то место, где должна выводиться реклама Google AdSense, такой код:
if (function_exists('scratch99_fromasearchengine')) { if (scratch99_fromasearchengine()) { INSERT YOUR CODE HERE } }
Понятно, что в этом коде реклама вставляется вместо строчки INSERT YOUR CODE HERE
.
При вставке в functions.php на всех страницах появляется текст кода функции, даже в админке. Видимо конфликт с новой версией WP, либо я где-то ошибся (что вряд ли).
Кстати, если добавить к этому хаку еще и проверку по дополнительному полю, то можно выводить рекламу для трафика с ПС только в тех постах где дорогая тематика.
При вставке напрямую в шаблон страниц – работает ок. В functions – не ок.