Исключить контекстную рекламу на некоторых страницах сайта на WordPress

(Ответов: 2, Просмотров: 885)
  1. Дипломник Аватар для nkaado
    • Регистрация: 01.08.2012
    • Сообщений: 183
    • Репутация: 33
    • Webmoney BL: ?
    Есть несколько страниц, на которых рекламу как Adsense так и РСЯ я показывать не хочу. Код рекламы встраивается через functions.php. Соответственно вопрос, как исключить определенные страницы.
    Код выглядит следующим образом:
    PHP код:
    function post_adv_top1($text){
    //код рекламы<br />
    $nu 220;
    $adv_top1 = <<<HTML
    <div style="margin:-20px 250px 0 20px;">
    <script type="text/javascript"><!--
    google_ad_client = "ca-pub-***";
    /* SS_top_in */
    google_ad_slot = "991988****";
    google_ad_width = 336;
    google_ad_height = 280;
    //-->
    </script>
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
    </div>
    HTML;
    // return str_replace('<!--more-->', $adv_top1.'<!--more-->', $text);
    return preg_replace('@([^^]{'.$nu.'}.*?)(\r?\n\r?\n|
    )@'
    "\\1$adv_top1\\2"trim($text), 1);
    }
    add_filter('the_content''post_adv_top1', -10); 
    • 0
  2. Опытный Аватар для pingvincible
    • Регистрация: 28.02.2012
    • Сообщений: 373
    • Репутация: 128
    • Webmoney BL: ?
    Это делается так:

    PHP код:
    function post_adv_top1($text){
        if (!
    is_single(перечисляете_номера_страниц_на_которых_не_показывать_рекламу)){
            
    //код рекламы<br /> 
             
    $nu 220
             
    $adv_top1 = <<<HTML 
             
    <div style="margin:-20px 250px 0 20px;"
            <
    script type="text/javascript"><!-- 
             
    google_ad_client "ca-pub-***"
            
    /* SS_top_in */ 
            
    google_ad_slot "991988****"
             
    google_ad_width 336
            
    google_ad_height 280
             
    //--> 
            
    </script> 
            <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
              </script> 
             </div> 
                HTML; 
              // return str_replace('<!--more-->', $adv_top1.'<!--more-->', $text); 
             return preg_replace('@([^^]{'.$nu.'}.*?)(\r?\n\r?\n| 
            )@', "\\1$adv_top1\\2", trim($text), 1);
        }
        else{
            retrurn $text;    
        }
    }
    add_filter('the_content', 'post_adv_top1', -10); 
    На статичных страницах, то вместо is_single используйте is_page
    Я желаю всем счастья
    • 1

    Спасибо сказали:

    nkaado(01.06.2013),
  3. Дипломник Аватар для nkaado
    • Регистрация: 01.08.2012
    • Сообщений: 183
    • Репутация: 33
    • Webmoney BL: ?
    Большое спасибо за помощь, но где то в коде закраласт ошибка. Если все скопировать, исправив на is_page и поставив нужный ID ошибка в строке
    PHP код:
    $adv_top1 = <<<HTML 
    В итоге все удалось исправить. Добавил array и тщательно пересмотрел весь код, видимо от сюда не корректно копируется. Вносил изменения вручную и все заработало. Отлично.
    Последний раз редактировалось nkaado; 01.06.2013 в 14:49.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
На некоторых страницах не отображаются блоки AdSense
PPC и контекстная реклама 23 01.04.2017 20:37
Про контекстную рекламу имени Гугля
PPC и контекстная реклама 11 18.02.2012 02:11
Про контекстную рекламу имени Гугля
Вопросы от новичков 5 13.02.2012 12:32
Подкасты про контекстную рекламу
Дайджест блогосферы 0 21.09.2010 13:22

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры